0.68/0.81 YES 0.68/0.81 0.68/0.81 Problem 1: 0.68/0.81 0.68/0.81 (VAR v_NonEmpty:S I:S P:S V:S V1:S V2:S X:S X1:S X2:S Y:S Z:S) 0.68/0.81 (RULES 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 ) 0.68/0.81 (STRATEGY INNERMOST) 0.68/0.81 0.68/0.81 Problem 1: 0.68/0.81 0.68/0.81 Dependency Pairs Processor: 0.68/0.81 -> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> A____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNELIST(V:S) -> A__ISQID(V:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__ISQID(I:S) 0.68/0.81 A__ISNEPAL(V:S) -> A__ISQID(V:S) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 MARK(isQid(X:S)) -> A__ISQID(X:S) 0.68/0.81 -> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 0.68/0.81 Problem 1: 0.68/0.81 0.68/0.81 SCC Processor: 0.68/0.81 -> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> A____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNELIST(V:S) -> A__ISQID(V:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__ISQID(I:S) 0.68/0.81 A__ISNEPAL(V:S) -> A__ISQID(V:S) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 MARK(isQid(X:S)) -> A__ISQID(X:S) 0.68/0.81 -> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 ->Strongly Connected Components: 0.68/0.81 ->->Cycle: 0.68/0.81 ->->-> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> A____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 ->->-> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 0.68/0.81 Problem 1: 0.68/0.81 0.68/0.81 Reduction Pairs Processor: 0.68/0.81 -> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> A____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 -> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 -> Usable rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 ->Interpretation type: 0.68/0.81 Linear 0.68/0.81 ->Coefficients: 0.68/0.81 Natural Numbers 0.68/0.81 ->Dimension: 0.68/0.81 1 0.68/0.81 ->Bound: 0.68/0.81 2 0.68/0.81 ->Interpretation: 0.68/0.81 0.68/0.81 [a____](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [a__and](X1,X2) = X1 + X2 + 2 0.68/0.81 [a__isList](X) = 2.X + 2 0.68/0.81 [a__isNeList](X) = 2.X + 2 0.68/0.81 [a__isNePal](X) = 2.X + 2 0.68/0.81 [a__isPal](X) = 2.X + 2 0.68/0.81 [a__isQid](X) = 2.X + 2 0.68/0.81 [mark](X) = X 0.68/0.81 [__](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [a] = 1 0.68/0.81 [and](X1,X2) = X1 + X2 + 2 0.68/0.81 [e] = 1 0.68/0.81 [fSNonEmpty] = 0 0.68/0.81 [i] = 2 0.68/0.81 [isList](X) = 2.X + 2 0.68/0.81 [isNeList](X) = 2.X + 2 0.68/0.81 [isNePal](X) = 2.X + 2 0.68/0.81 [isPal](X) = 2.X + 2 0.68/0.81 [isQid](X) = 2.X + 2 0.68/0.81 [nil] = 2 0.68/0.81 [o] = 2 0.68/0.81 [tt] = 2 0.68/0.81 [u] = 1 0.68/0.81 [A____](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [A__AND](X1,X2) = X1 + X2 + 2 0.68/0.81 [A__ISLIST](X) = 2.X + 2 0.68/0.81 [A__ISNELIST](X) = 2.X + 2 0.68/0.81 [A__ISNEPAL](X) = 2.X + 1 0.68/0.81 [A__ISPAL](X) = 2.X + 2 0.68/0.81 [A__ISQID](X) = 0 0.68/0.81 [MARK](X) = X + 1 0.68/0.81 0.68/0.81 Problem 1: 0.68/0.81 0.68/0.81 SCC Processor: 0.68/0.81 -> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 -> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 ->Strongly Connected Components: 0.68/0.81 ->->Cycle: 0.68/0.81 ->->-> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 ->->-> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 0.68/0.81 Problem 1: 0.68/0.81 0.68/0.81 Reduction Pairs Processor: 0.68/0.81 -> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 -> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 -> Usable rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 ->Interpretation type: 0.68/0.81 Linear 0.68/0.81 ->Coefficients: 0.68/0.81 Natural Numbers 0.68/0.81 ->Dimension: 0.68/0.81 1 0.68/0.81 ->Bound: 0.68/0.81 2 0.68/0.81 ->Interpretation: 0.68/0.81 0.68/0.81 [a____](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [a__and](X1,X2) = 2.X1 + X2 0.68/0.81 [a__isList](X) = 2.X + 2 0.68/0.81 [a__isNeList](X) = 2.X + 2 0.68/0.81 [a__isNePal](X) = 2.X 0.68/0.81 [a__isPal](X) = 2.X + 2 0.68/0.81 [a__isQid](X) = 2.X 0.68/0.81 [mark](X) = X 0.68/0.81 [__](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [a] = 2 0.68/0.81 [and](X1,X2) = 2.X1 + X2 0.68/0.81 [e] = 2 0.68/0.81 [fSNonEmpty] = 0 0.68/0.81 [i] = 1 0.68/0.81 [isList](X) = 2.X + 2 0.68/0.81 [isNeList](X) = 2.X + 2 0.68/0.81 [isNePal](X) = 2.X 0.68/0.81 [isPal](X) = 2.X + 2 0.68/0.81 [isQid](X) = 2.X 0.68/0.81 [nil] = 2 0.68/0.81 [o] = 1 0.68/0.81 [tt] = 1 0.68/0.81 [u] = 2 0.68/0.81 [A____](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [A__AND](X1,X2) = 2.X1 + X2 0.68/0.81 [A__ISLIST](X) = 2.X + 2 0.68/0.81 [A__ISNELIST](X) = 2.X + 2 0.68/0.81 [A__ISNEPAL](X) = 2.X + 2 0.68/0.81 [A__ISPAL](X) = 2.X + 2 0.68/0.81 [A__ISQID](X) = 0 0.68/0.81 [MARK](X) = X + 2 0.68/0.81 0.68/0.81 Problem 1: 0.68/0.81 0.68/0.81 SCC Processor: 0.68/0.81 -> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 -> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 ->Strongly Connected Components: 0.68/0.81 ->->Cycle: 0.68/0.81 ->->-> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 ->->-> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 0.68/0.81 Problem 1: 0.68/0.81 0.68/0.81 Reduction Pairs Processor: 0.68/0.81 -> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 -> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 -> Usable rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 ->Interpretation type: 0.68/0.81 Linear 0.68/0.81 ->Coefficients: 0.68/0.81 Natural Numbers 0.68/0.81 ->Dimension: 0.68/0.81 1 0.68/0.81 ->Bound: 0.68/0.81 2 0.68/0.81 ->Interpretation: 0.68/0.81 0.68/0.81 [a____](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [a__and](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [a__isList](X) = X 0.68/0.81 [a__isNeList](X) = X 0.68/0.81 [a__isNePal](X) = 2.X + 2 0.68/0.81 [a__isPal](X) = 2.X + 2 0.68/0.81 [a__isQid](X) = X 0.68/0.81 [mark](X) = X 0.68/0.81 [__](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [a] = 2 0.68/0.81 [and](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [e] = 2 0.68/0.81 [fSNonEmpty] = 0 0.68/0.81 [i] = 2 0.68/0.81 [isList](X) = X 0.68/0.81 [isNeList](X) = X 0.68/0.81 [isNePal](X) = 2.X + 2 0.68/0.81 [isPal](X) = 2.X + 2 0.68/0.81 [isQid](X) = X 0.68/0.81 [nil] = 2 0.68/0.81 [o] = 2 0.68/0.81 [tt] = 2 0.68/0.81 [u] = 2 0.68/0.81 [A____](X1,X2) = 2.X1 + 2.X2 + 2 0.68/0.81 [A__AND](X1,X2) = 2.X1 + 2.X2 + 2 0.68/0.81 [A__ISLIST](X) = 2.X + 1 0.68/0.81 [A__ISNELIST](X) = 2.X + 1 0.68/0.81 [A__ISNEPAL](X) = 2.X + 2 0.68/0.81 [A__ISPAL](X) = 2.X + 2 0.68/0.81 [A__ISQID](X) = 0 0.68/0.81 [MARK](X) = 2.X + 1 0.68/0.81 0.68/0.81 Problem 1: 0.68/0.81 0.68/0.81 SCC Processor: 0.68/0.81 -> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 -> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 ->Strongly Connected Components: 0.68/0.81 ->->Cycle: 0.68/0.81 ->->-> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 ->->-> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 0.68/0.81 Problem 1: 0.68/0.81 0.68/0.81 Reduction Pairs Processor: 0.68/0.81 -> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 -> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 -> Usable rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 ->Interpretation type: 0.68/0.81 Linear 0.68/0.81 ->Coefficients: 0.68/0.81 Natural Numbers 0.68/0.81 ->Dimension: 0.68/0.81 1 0.68/0.81 ->Bound: 0.68/0.81 2 0.68/0.81 ->Interpretation: 0.68/0.81 0.68/0.81 [a____](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [a__and](X1,X2) = X1 + X2 0.68/0.81 [a__isList](X) = X + 2 0.68/0.81 [a__isNeList](X) = X + 2 0.68/0.81 [a__isNePal](X) = 2.X + 2 0.68/0.81 [a__isPal](X) = 2.X + 2 0.68/0.81 [a__isQid](X) = X + 2 0.68/0.81 [mark](X) = X 0.68/0.81 [__](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [a] = 1 0.68/0.81 [and](X1,X2) = X1 + X2 0.68/0.81 [e] = 2 0.68/0.81 [fSNonEmpty] = 0 0.68/0.81 [i] = 1 0.68/0.81 [isList](X) = X + 2 0.68/0.81 [isNeList](X) = X + 2 0.68/0.81 [isNePal](X) = 2.X + 2 0.68/0.81 [isPal](X) = 2.X + 2 0.68/0.81 [isQid](X) = X + 2 0.68/0.81 [nil] = 2 0.68/0.81 [o] = 2 0.68/0.81 [tt] = 2 0.68/0.81 [u] = 2 0.68/0.81 [A____](X1,X2) = 2.X1 + 2.X2 + 2 0.68/0.81 [A__AND](X1,X2) = X1 + 2.X2 0.68/0.81 [A__ISLIST](X) = 2.X + 2 0.68/0.81 [A__ISNELIST](X) = 2.X + 2 0.68/0.81 [A__ISNEPAL](X) = 2.X + 1 0.68/0.81 [A__ISPAL](X) = 2.X + 2 0.68/0.81 [A__ISQID](X) = 0 0.68/0.81 [MARK](X) = 2.X + 1 0.68/0.81 0.68/0.81 Problem 1: 0.68/0.81 0.68/0.81 SCC Processor: 0.68/0.81 -> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 -> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 ->Strongly Connected Components: 0.68/0.81 ->->Cycle: 0.68/0.81 ->->-> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 ->->-> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 0.68/0.81 Problem 1: 0.68/0.81 0.68/0.81 Reduction Pairs Processor: 0.68/0.81 -> Pairs: 0.68/0.81 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 0.68/0.81 A____(nil,X:S) -> MARK(X:S) 0.68/0.81 A____(X:S,nil) -> MARK(X:S) 0.68/0.81 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.81 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.81 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.81 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.81 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.81 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.81 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.81 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.81 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.81 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.81 -> Rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 -> Usable rules: 0.68/0.81 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.81 a____(nil,X:S) -> mark(X:S) 0.68/0.81 a____(X:S,nil) -> mark(X:S) 0.68/0.81 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.81 a__and(tt,X:S) -> mark(X:S) 0.68/0.81 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.81 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.81 a__isList(nil) -> tt 0.68/0.81 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.81 a__isList(X:S) -> isList(X:S) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.81 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.81 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.81 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.81 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.81 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.81 a__isPal(nil) -> tt 0.68/0.81 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.81 a__isPal(X:S) -> isPal(X:S) 0.68/0.81 a__isQid(a) -> tt 0.68/0.81 a__isQid(e) -> tt 0.68/0.81 a__isQid(i) -> tt 0.68/0.81 a__isQid(o) -> tt 0.68/0.81 a__isQid(u) -> tt 0.68/0.81 a__isQid(X:S) -> isQid(X:S) 0.68/0.81 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.81 mark(a) -> a 0.68/0.81 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.81 mark(e) -> e 0.68/0.81 mark(i) -> i 0.68/0.81 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.81 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.81 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.81 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.81 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.81 mark(nil) -> nil 0.68/0.81 mark(o) -> o 0.68/0.81 mark(tt) -> tt 0.68/0.81 mark(u) -> u 0.68/0.81 ->Interpretation type: 0.68/0.81 Linear 0.68/0.81 ->Coefficients: 0.68/0.81 Natural Numbers 0.68/0.81 ->Dimension: 0.68/0.81 1 0.68/0.81 ->Bound: 0.68/0.81 2 0.68/0.81 ->Interpretation: 0.68/0.81 0.68/0.81 [a____](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [a__and](X1,X2) = 2.X1 + 2.X2 0.68/0.81 [a__isList](X) = 0 0.68/0.81 [a__isNeList](X) = 0 0.68/0.81 [a__isNePal](X) = 2.X 0.68/0.81 [a__isPal](X) = 2.X + 2 0.68/0.81 [a__isQid](X) = 0 0.68/0.81 [mark](X) = X 0.68/0.81 [__](X1,X2) = 2.X1 + X2 + 2 0.68/0.81 [a] = 1 0.68/0.81 [and](X1,X2) = 2.X1 + 2.X2 0.68/0.81 [e] = 1 0.68/0.81 [fSNonEmpty] = 0 0.68/0.81 [i] = 1 0.68/0.81 [isList](X) = 0 0.68/0.81 [isNeList](X) = 0 0.68/0.81 [isNePal](X) = 2.X 0.68/0.81 [isPal](X) = 2.X + 2 0.68/0.81 [isQid](X) = 0 0.68/0.82 [nil] = 2 0.68/0.82 [o] = 2 0.68/0.82 [tt] = 0 0.68/0.82 [u] = 1 0.68/0.82 [A____](X1,X2) = 2.X1 + 2.X2 0.68/0.82 [A__AND](X1,X2) = 2.X1 + 2.X2 + 2 0.68/0.82 [A__ISLIST](X) = 2 0.68/0.82 [A__ISNELIST](X) = 2 0.68/0.82 [A__ISNEPAL](X) = 2.X + 2 0.68/0.82 [A__ISPAL](X) = 2.X + 2 0.68/0.82 [A__ISQID](X) = 0 0.68/0.82 [MARK](X) = 2.X + 2 0.68/0.82 0.68/0.82 Problem 1: 0.68/0.82 0.68/0.82 SCC Processor: 0.68/0.82 -> Pairs: 0.68/0.82 A____(nil,X:S) -> MARK(X:S) 0.68/0.82 A____(X:S,nil) -> MARK(X:S) 0.68/0.82 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.82 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.82 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.82 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.82 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.82 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.82 -> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 ->Strongly Connected Components: 0.68/0.82 ->->Cycle: 0.68/0.82 ->->-> Pairs: 0.68/0.82 A____(nil,X:S) -> MARK(X:S) 0.68/0.82 A____(X:S,nil) -> MARK(X:S) 0.68/0.82 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.82 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.82 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.82 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.82 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.82 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.82 ->->-> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 0.68/0.82 Problem 1: 0.68/0.82 0.68/0.82 Reduction Pairs Processor: 0.68/0.82 -> Pairs: 0.68/0.82 A____(nil,X:S) -> MARK(X:S) 0.68/0.82 A____(X:S,nil) -> MARK(X:S) 0.68/0.82 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.82 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.82 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.82 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.82 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.82 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.82 -> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 -> Usable rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 ->Interpretation type: 0.68/0.82 Linear 0.68/0.82 ->Coefficients: 0.68/0.82 Natural Numbers 0.68/0.82 ->Dimension: 0.68/0.82 1 0.68/0.82 ->Bound: 0.68/0.82 2 0.68/0.82 ->Interpretation: 0.68/0.82 0.68/0.82 [a____](X1,X2) = 2.X1 + X2 + 2 0.68/0.82 [a__and](X1,X2) = 2.X1 + X2 + 1 0.68/0.82 [a__isList](X) = 2.X + 1 0.68/0.82 [a__isNeList](X) = 2.X 0.68/0.82 [a__isNePal](X) = 2.X + 2 0.68/0.82 [a__isPal](X) = 2.X + 2 0.68/0.82 [a__isQid](X) = 2.X 0.68/0.82 [mark](X) = X 0.68/0.82 [__](X1,X2) = 2.X1 + X2 + 2 0.68/0.82 [a] = 2 0.68/0.82 [and](X1,X2) = 2.X1 + X2 + 1 0.68/0.82 [e] = 1 0.68/0.82 [fSNonEmpty] = 0 0.68/0.82 [i] = 2 0.68/0.82 [isList](X) = 2.X + 1 0.68/0.82 [isNeList](X) = 2.X 0.68/0.82 [isNePal](X) = 2.X + 2 0.68/0.82 [isPal](X) = 2.X + 2 0.68/0.82 [isQid](X) = 2.X 0.68/0.82 [nil] = 2 0.68/0.82 [o] = 2 0.68/0.82 [tt] = 2 0.68/0.82 [u] = 1 0.68/0.82 [A____](X1,X2) = X1 + X2 + 2 0.68/0.82 [A__AND](X1,X2) = 2.X1 + X2 + 2 0.68/0.82 [A__ISLIST](X) = 2.X + 1 0.68/0.82 [A__ISNELIST](X) = 2.X + 1 0.68/0.82 [A__ISNEPAL](X) = 2.X + 2 0.68/0.82 [A__ISPAL](X) = 2.X + 2 0.68/0.82 [A__ISQID](X) = 0 0.68/0.82 [MARK](X) = X + 2 0.68/0.82 0.68/0.82 Problem 1: 0.68/0.82 0.68/0.82 SCC Processor: 0.68/0.82 -> Pairs: 0.68/0.82 A____(X:S,nil) -> MARK(X:S) 0.68/0.82 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.82 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.82 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.82 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.82 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.82 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.82 -> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 ->Strongly Connected Components: 0.68/0.82 ->->Cycle: 0.68/0.82 ->->-> Pairs: 0.68/0.82 A____(X:S,nil) -> MARK(X:S) 0.68/0.82 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.82 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.82 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.82 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.82 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.82 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.82 ->->-> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 0.68/0.82 Problem 1: 0.68/0.82 0.68/0.82 Reduction Pairs Processor: 0.68/0.82 -> Pairs: 0.68/0.82 A____(X:S,nil) -> MARK(X:S) 0.68/0.82 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.82 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.82 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.82 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.82 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.82 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.82 -> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 -> Usable rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 ->Interpretation type: 0.68/0.82 Linear 0.68/0.82 ->Coefficients: 0.68/0.82 Natural Numbers 0.68/0.82 ->Dimension: 0.68/0.82 1 0.68/0.82 ->Bound: 0.68/0.82 2 0.68/0.82 ->Interpretation: 0.68/0.82 0.68/0.82 [a____](X1,X2) = 2.X1 + X2 + 2 0.68/0.82 [a__and](X1,X2) = X1 + X2 + 2 0.68/0.82 [a__isList](X) = 2.X + 2 0.68/0.82 [a__isNeList](X) = 2.X + 2 0.68/0.82 [a__isNePal](X) = 2.X + 2 0.68/0.82 [a__isPal](X) = 2.X + 2 0.68/0.82 [a__isQid](X) = 2.X + 2 0.68/0.82 [mark](X) = X 0.68/0.82 [__](X1,X2) = 2.X1 + X2 + 2 0.68/0.82 [a] = 1 0.68/0.82 [and](X1,X2) = X1 + X2 + 2 0.68/0.82 [e] = 1 0.68/0.82 [fSNonEmpty] = 0 0.68/0.82 [i] = 2 0.68/0.82 [isList](X) = 2.X + 2 0.68/0.82 [isNeList](X) = 2.X + 2 0.68/0.82 [isNePal](X) = 2.X + 2 0.68/0.82 [isPal](X) = 2.X + 2 0.68/0.82 [isQid](X) = 2.X + 2 0.68/0.82 [nil] = 2 0.68/0.82 [o] = 1 0.68/0.82 [tt] = 1 0.68/0.82 [u] = 1 0.68/0.82 [A____](X1,X2) = 2.X1 + X2 + 1 0.68/0.82 [A__AND](X1,X2) = X2 + 2 0.68/0.82 [A__ISLIST](X) = 2.X + 2 0.68/0.82 [A__ISNELIST](X) = 2.X + 2 0.68/0.82 [A__ISNEPAL](X) = 2.X + 2 0.68/0.82 [A__ISPAL](X) = 2.X + 2 0.68/0.82 [A__ISQID](X) = 0 0.68/0.82 [MARK](X) = X + 2 0.68/0.82 0.68/0.82 Problem 1: 0.68/0.82 0.68/0.82 SCC Processor: 0.68/0.82 -> Pairs: 0.68/0.82 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.82 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.82 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.82 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.82 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.82 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.82 -> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 ->Strongly Connected Components: 0.68/0.82 ->->Cycle: 0.68/0.82 ->->-> Pairs: 0.68/0.82 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.82 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.82 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.82 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.82 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.82 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.82 ->->-> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 0.68/0.82 Problem 1: 0.68/0.82 0.68/0.82 Reduction Pairs Processor: 0.68/0.82 -> Pairs: 0.68/0.82 A__AND(tt,X:S) -> MARK(X:S) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.82 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.82 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.82 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.82 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.82 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.82 -> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 -> Usable rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 ->Interpretation type: 0.68/0.82 Linear 0.68/0.82 ->Coefficients: 0.68/0.82 Natural Numbers 0.68/0.82 ->Dimension: 0.68/0.82 1 0.68/0.82 ->Bound: 0.68/0.82 2 0.68/0.82 ->Interpretation: 0.68/0.82 0.68/0.82 [a____](X1,X2) = 2.X1 + X2 + 2 0.68/0.82 [a__and](X1,X2) = X1 + X2 + 2 0.68/0.82 [a__isList](X) = 2.X + 2 0.68/0.82 [a__isNeList](X) = 2.X + 2 0.68/0.82 [a__isNePal](X) = 2.X + 2 0.68/0.82 [a__isPal](X) = 2.X + 2 0.68/0.82 [a__isQid](X) = X + 2 0.68/0.82 [mark](X) = X 0.68/0.82 [__](X1,X2) = 2.X1 + X2 + 2 0.68/0.82 [a] = 2 0.68/0.82 [and](X1,X2) = X1 + X2 + 2 0.68/0.82 [e] = 1 0.68/0.82 [fSNonEmpty] = 0 0.68/0.82 [i] = 2 0.68/0.82 [isList](X) = 2.X + 2 0.68/0.82 [isNeList](X) = 2.X + 2 0.68/0.82 [isNePal](X) = 2.X + 2 0.68/0.82 [isPal](X) = 2.X + 2 0.68/0.82 [isQid](X) = X + 2 0.68/0.82 [nil] = 2 0.68/0.82 [o] = 1 0.68/0.82 [tt] = 2 0.68/0.82 [u] = 1 0.68/0.82 [A____](X1,X2) = 0 0.68/0.82 [A__AND](X1,X2) = X1 + X2 + 2 0.68/0.82 [A__ISLIST](X) = 2.X + 2 0.68/0.82 [A__ISNELIST](X) = 2.X + 2 0.68/0.82 [A__ISNEPAL](X) = 2.X + 2 0.68/0.82 [A__ISPAL](X) = 2.X + 2 0.68/0.82 [A__ISQID](X) = 0 0.68/0.82 [MARK](X) = X 0.68/0.82 0.68/0.82 Problem 1: 0.68/0.82 0.68/0.82 SCC Processor: 0.68/0.82 -> Pairs: 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isList(V2:S)) 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__AND(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.82 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__AND(a__isQid(I:S),isPal(P:S)) 0.68/0.82 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(isList(X:S)) -> A__ISLIST(X:S) 0.68/0.82 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 0.68/0.82 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 0.68/0.82 MARK(isPal(X:S)) -> A__ISPAL(X:S) 0.68/0.82 -> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 ->Strongly Connected Components: 0.68/0.82 ->->Cycle: 0.68/0.82 ->->-> Pairs: 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.82 ->->-> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 ->->Cycle: 0.68/0.82 ->->-> Pairs: 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 ->->-> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 0.68/0.82 0.68/0.82 The problem is decomposed in 2 subproblems. 0.68/0.82 0.68/0.82 Problem 1.1: 0.68/0.82 0.68/0.82 Subterm Processor: 0.68/0.82 -> Pairs: 0.68/0.82 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 0.68/0.82 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 0.68/0.82 -> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 ->Projection: 0.68/0.82 pi(A__ISLIST) = 1 0.68/0.82 pi(A__ISNELIST) = 1 0.68/0.82 0.68/0.82 Problem 1.1: 0.68/0.82 0.68/0.82 SCC Processor: 0.68/0.82 -> Pairs: 0.68/0.82 A__ISLIST(V:S) -> A__ISNELIST(V:S) 0.68/0.82 -> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 ->Strongly Connected Components: 0.68/0.82 There is no strongly connected component 0.68/0.82 0.68/0.82 The problem is finite. 0.68/0.82 0.68/0.82 Problem 1.2: 0.68/0.82 0.68/0.82 Subterm Processor: 0.68/0.82 -> Pairs: 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 0.68/0.82 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 0.68/0.82 -> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 ->Projection: 0.68/0.82 pi(MARK) = 1 0.68/0.82 0.68/0.82 Problem 1.2: 0.68/0.82 0.68/0.82 SCC Processor: 0.68/0.82 -> Pairs: 0.68/0.82 Empty 0.68/0.82 -> Rules: 0.68/0.82 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 0.68/0.82 a____(nil,X:S) -> mark(X:S) 0.68/0.82 a____(X:S,nil) -> mark(X:S) 0.68/0.82 a____(X1:S,X2:S) -> __(X1:S,X2:S) 0.68/0.82 a__and(tt,X:S) -> mark(X:S) 0.68/0.82 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 0.68/0.82 a__isList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isList(V2:S)) 0.68/0.82 a__isList(nil) -> tt 0.68/0.82 a__isList(V:S) -> a__isNeList(V:S) 0.68/0.82 a__isList(X:S) -> isList(X:S) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isList(V1:S),isNeList(V2:S)) 0.68/0.82 a__isNeList(__(V1:S,V2:S)) -> a__and(a__isNeList(V1:S),isList(V2:S)) 0.68/0.82 a__isNeList(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNeList(X:S) -> isNeList(X:S) 0.68/0.82 a__isNePal(__(I:S,__(P:S,I:S))) -> a__and(a__isQid(I:S),isPal(P:S)) 0.68/0.82 a__isNePal(V:S) -> a__isQid(V:S) 0.68/0.82 a__isNePal(X:S) -> isNePal(X:S) 0.68/0.82 a__isPal(nil) -> tt 0.68/0.82 a__isPal(V:S) -> a__isNePal(V:S) 0.68/0.82 a__isPal(X:S) -> isPal(X:S) 0.68/0.82 a__isQid(a) -> tt 0.68/0.82 a__isQid(e) -> tt 0.68/0.82 a__isQid(i) -> tt 0.68/0.82 a__isQid(o) -> tt 0.68/0.82 a__isQid(u) -> tt 0.68/0.82 a__isQid(X:S) -> isQid(X:S) 0.68/0.82 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 0.68/0.82 mark(a) -> a 0.68/0.82 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 0.68/0.82 mark(e) -> e 0.68/0.82 mark(i) -> i 0.68/0.82 mark(isList(X:S)) -> a__isList(X:S) 0.68/0.82 mark(isNeList(X:S)) -> a__isNeList(X:S) 0.68/0.82 mark(isNePal(X:S)) -> a__isNePal(X:S) 0.68/0.82 mark(isPal(X:S)) -> a__isPal(X:S) 0.68/0.82 mark(isQid(X:S)) -> a__isQid(X:S) 0.68/0.82 mark(nil) -> nil 0.68/0.82 mark(o) -> o 0.68/0.82 mark(tt) -> tt 0.68/0.82 mark(u) -> u 0.68/0.82 ->Strongly Connected Components: 0.68/0.82 There is no strongly connected component 0.68/0.82 0.68/0.82 The problem is finite. 0.68/0.82 EOF