5.37/5.69 YES 5.37/5.69 5.37/5.69 Problem 1: 5.37/5.69 5.37/5.69 (VAR v_NonEmpty:S M:S N:S V1:S V2:S X:S X1:S X2:S X3:S) 5.37/5.69 (RULES 5.37/5.69 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U12(active(X:S)) -> U12(X:S) 5.37/5.69 U12(mark(X:S)) -> U12(X:S) 5.37/5.69 U21(active(X:S)) -> U21(X:S) 5.37/5.69 U21(mark(X:S)) -> U21(X:S) 5.37/5.69 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.69 active(U12(tt)) -> mark(tt) 5.37/5.69 active(U21(tt)) -> mark(tt) 5.37/5.69 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.69 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.69 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.69 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.69 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.69 active(isNat(0)) -> mark(tt) 5.37/5.69 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.69 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.69 isNat(active(X:S)) -> isNat(X:S) 5.37/5.69 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.69 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.69 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.69 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.69 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.69 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.69 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.69 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.69 mark(0) -> active(0) 5.37/5.69 mark(tt) -> active(tt) 5.37/5.69 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 s(active(X:S)) -> s(X:S) 5.37/5.69 s(mark(X:S)) -> s(X:S) 5.37/5.69 ) 5.37/5.69 (STRATEGY INNERMOST) 5.37/5.69 5.37/5.69 Problem 1: 5.37/5.69 5.37/5.69 Dependency Pairs Processor: 5.37/5.69 -> Pairs: 5.37/5.69 U11#(active(X1:S),X2:S) -> U11#(X1:S,X2:S) 5.37/5.69 U11#(mark(X1:S),X2:S) -> U11#(X1:S,X2:S) 5.37/5.69 U11#(X1:S,active(X2:S)) -> U11#(X1:S,X2:S) 5.37/5.69 U11#(X1:S,mark(X2:S)) -> U11#(X1:S,X2:S) 5.37/5.69 U12#(active(X:S)) -> U12#(X:S) 5.37/5.69 U12#(mark(X:S)) -> U12#(X:S) 5.37/5.69 U21#(active(X:S)) -> U21#(X:S) 5.37/5.69 U21#(mark(X:S)) -> U21#(X:S) 5.37/5.69 U31#(active(X1:S),X2:S) -> U31#(X1:S,X2:S) 5.37/5.69 U31#(mark(X1:S),X2:S) -> U31#(X1:S,X2:S) 5.37/5.69 U31#(X1:S,active(X2:S)) -> U31#(X1:S,X2:S) 5.37/5.69 U31#(X1:S,mark(X2:S)) -> U31#(X1:S,X2:S) 5.37/5.69 U41#(active(X1:S),X2:S,X3:S) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(mark(X1:S),X2:S,X3:S) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(X1:S,active(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(X1:S,mark(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(X1:S,X2:S,active(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(X1:S,X2:S,mark(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(active(X1:S),X2:S,X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(mark(X1:S),X2:S,X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(X1:S,active(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(X1:S,mark(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(X1:S,X2:S,active(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(X1:S,X2:S,mark(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 ACTIVE(U11(tt,V2:S)) -> U12#(isNat(V2:S)) 5.37/5.69 ACTIVE(U11(tt,V2:S)) -> ISNAT(V2:S) 5.37/5.69 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.37/5.69 ACTIVE(U12(tt)) -> MARK(tt) 5.37/5.69 ACTIVE(U21(tt)) -> MARK(tt) 5.37/5.69 ACTIVE(U31(tt,N:S)) -> MARK(N:S) 5.37/5.69 ACTIVE(U41(tt,M:S,N:S)) -> U42#(isNat(N:S),M:S,N:S) 5.37/5.69 ACTIVE(U41(tt,M:S,N:S)) -> ISNAT(N:S) 5.37/5.69 ACTIVE(U41(tt,M:S,N:S)) -> MARK(U42(isNat(N:S),M:S,N:S)) 5.37/5.69 ACTIVE(U42(tt,M:S,N:S)) -> MARK(s(plus(N:S,M:S))) 5.37/5.69 ACTIVE(U42(tt,M:S,N:S)) -> PLUS(N:S,M:S) 5.37/5.69 ACTIVE(U42(tt,M:S,N:S)) -> S(plus(N:S,M:S)) 5.37/5.69 ACTIVE(isNat(plus(V1:S,V2:S))) -> U11#(isNat(V1:S),V2:S) 5.37/5.69 ACTIVE(isNat(plus(V1:S,V2:S))) -> ISNAT(V1:S) 5.37/5.69 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.37/5.69 ACTIVE(isNat(s(V1:S))) -> U21#(isNat(V1:S)) 5.37/5.69 ACTIVE(isNat(s(V1:S))) -> ISNAT(V1:S) 5.37/5.69 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.37/5.69 ACTIVE(isNat(0)) -> MARK(tt) 5.37/5.69 ACTIVE(plus(N:S,s(M:S))) -> U41#(isNat(M:S),M:S,N:S) 5.37/5.69 ACTIVE(plus(N:S,s(M:S))) -> ISNAT(M:S) 5.37/5.69 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.37/5.69 ACTIVE(plus(N:S,0)) -> U31#(isNat(N:S),N:S) 5.37/5.69 ACTIVE(plus(N:S,0)) -> ISNAT(N:S) 5.37/5.69 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.37/5.69 ISNAT(active(X:S)) -> ISNAT(X:S) 5.37/5.69 ISNAT(mark(X:S)) -> ISNAT(X:S) 5.37/5.69 MARK(U11(X1:S,X2:S)) -> U11#(mark(X1:S),X2:S) 5.37/5.69 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.37/5.69 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.37/5.69 MARK(U12(X:S)) -> U12#(mark(X:S)) 5.37/5.69 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.37/5.69 MARK(U12(X:S)) -> MARK(X:S) 5.37/5.69 MARK(U21(X:S)) -> U21#(mark(X:S)) 5.37/5.69 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.37/5.69 MARK(U21(X:S)) -> MARK(X:S) 5.37/5.69 MARK(U31(X1:S,X2:S)) -> U31#(mark(X1:S),X2:S) 5.37/5.69 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.37/5.69 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.37/5.69 MARK(U41(X1:S,X2:S,X3:S)) -> U41#(mark(X1:S),X2:S,X3:S) 5.37/5.69 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.69 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.37/5.69 MARK(U42(X1:S,X2:S,X3:S)) -> U42#(mark(X1:S),X2:S,X3:S) 5.37/5.69 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.69 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.37/5.69 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.37/5.69 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.37/5.69 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.37/5.69 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.37/5.69 MARK(plus(X1:S,X2:S)) -> PLUS(mark(X1:S),mark(X2:S)) 5.37/5.69 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.37/5.69 MARK(s(X:S)) -> MARK(X:S) 5.37/5.69 MARK(s(X:S)) -> S(mark(X:S)) 5.37/5.69 PLUS(active(X1:S),X2:S) -> PLUS(X1:S,X2:S) 5.37/5.69 PLUS(mark(X1:S),X2:S) -> PLUS(X1:S,X2:S) 5.37/5.69 PLUS(X1:S,active(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.69 PLUS(X1:S,mark(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.69 S(active(X:S)) -> S(X:S) 5.37/5.69 S(mark(X:S)) -> S(X:S) 5.37/5.69 -> Rules: 5.37/5.69 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U12(active(X:S)) -> U12(X:S) 5.37/5.69 U12(mark(X:S)) -> U12(X:S) 5.37/5.69 U21(active(X:S)) -> U21(X:S) 5.37/5.69 U21(mark(X:S)) -> U21(X:S) 5.37/5.69 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.69 active(U12(tt)) -> mark(tt) 5.37/5.69 active(U21(tt)) -> mark(tt) 5.37/5.69 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.69 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.69 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.69 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.69 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.69 active(isNat(0)) -> mark(tt) 5.37/5.69 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.69 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.69 isNat(active(X:S)) -> isNat(X:S) 5.37/5.69 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.69 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.69 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.69 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.69 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.69 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.69 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.69 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.69 mark(0) -> active(0) 5.37/5.69 mark(tt) -> active(tt) 5.37/5.69 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 s(active(X:S)) -> s(X:S) 5.37/5.69 s(mark(X:S)) -> s(X:S) 5.37/5.69 5.37/5.69 Problem 1: 5.37/5.69 5.37/5.69 SCC Processor: 5.37/5.69 -> Pairs: 5.37/5.69 U11#(active(X1:S),X2:S) -> U11#(X1:S,X2:S) 5.37/5.69 U11#(mark(X1:S),X2:S) -> U11#(X1:S,X2:S) 5.37/5.69 U11#(X1:S,active(X2:S)) -> U11#(X1:S,X2:S) 5.37/5.69 U11#(X1:S,mark(X2:S)) -> U11#(X1:S,X2:S) 5.37/5.69 U12#(active(X:S)) -> U12#(X:S) 5.37/5.69 U12#(mark(X:S)) -> U12#(X:S) 5.37/5.69 U21#(active(X:S)) -> U21#(X:S) 5.37/5.69 U21#(mark(X:S)) -> U21#(X:S) 5.37/5.69 U31#(active(X1:S),X2:S) -> U31#(X1:S,X2:S) 5.37/5.69 U31#(mark(X1:S),X2:S) -> U31#(X1:S,X2:S) 5.37/5.69 U31#(X1:S,active(X2:S)) -> U31#(X1:S,X2:S) 5.37/5.69 U31#(X1:S,mark(X2:S)) -> U31#(X1:S,X2:S) 5.37/5.69 U41#(active(X1:S),X2:S,X3:S) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(mark(X1:S),X2:S,X3:S) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(X1:S,active(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(X1:S,mark(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(X1:S,X2:S,active(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(X1:S,X2:S,mark(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(active(X1:S),X2:S,X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(mark(X1:S),X2:S,X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(X1:S,active(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(X1:S,mark(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(X1:S,X2:S,active(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(X1:S,X2:S,mark(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 ACTIVE(U11(tt,V2:S)) -> U12#(isNat(V2:S)) 5.37/5.69 ACTIVE(U11(tt,V2:S)) -> ISNAT(V2:S) 5.37/5.69 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.37/5.69 ACTIVE(U12(tt)) -> MARK(tt) 5.37/5.69 ACTIVE(U21(tt)) -> MARK(tt) 5.37/5.69 ACTIVE(U31(tt,N:S)) -> MARK(N:S) 5.37/5.69 ACTIVE(U41(tt,M:S,N:S)) -> U42#(isNat(N:S),M:S,N:S) 5.37/5.69 ACTIVE(U41(tt,M:S,N:S)) -> ISNAT(N:S) 5.37/5.69 ACTIVE(U41(tt,M:S,N:S)) -> MARK(U42(isNat(N:S),M:S,N:S)) 5.37/5.69 ACTIVE(U42(tt,M:S,N:S)) -> MARK(s(plus(N:S,M:S))) 5.37/5.69 ACTIVE(U42(tt,M:S,N:S)) -> PLUS(N:S,M:S) 5.37/5.69 ACTIVE(U42(tt,M:S,N:S)) -> S(plus(N:S,M:S)) 5.37/5.69 ACTIVE(isNat(plus(V1:S,V2:S))) -> U11#(isNat(V1:S),V2:S) 5.37/5.69 ACTIVE(isNat(plus(V1:S,V2:S))) -> ISNAT(V1:S) 5.37/5.69 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.37/5.69 ACTIVE(isNat(s(V1:S))) -> U21#(isNat(V1:S)) 5.37/5.69 ACTIVE(isNat(s(V1:S))) -> ISNAT(V1:S) 5.37/5.69 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.37/5.69 ACTIVE(isNat(0)) -> MARK(tt) 5.37/5.69 ACTIVE(plus(N:S,s(M:S))) -> U41#(isNat(M:S),M:S,N:S) 5.37/5.69 ACTIVE(plus(N:S,s(M:S))) -> ISNAT(M:S) 5.37/5.69 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.37/5.69 ACTIVE(plus(N:S,0)) -> U31#(isNat(N:S),N:S) 5.37/5.69 ACTIVE(plus(N:S,0)) -> ISNAT(N:S) 5.37/5.69 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.37/5.69 ISNAT(active(X:S)) -> ISNAT(X:S) 5.37/5.69 ISNAT(mark(X:S)) -> ISNAT(X:S) 5.37/5.69 MARK(U11(X1:S,X2:S)) -> U11#(mark(X1:S),X2:S) 5.37/5.69 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.37/5.69 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.37/5.69 MARK(U12(X:S)) -> U12#(mark(X:S)) 5.37/5.69 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.37/5.69 MARK(U12(X:S)) -> MARK(X:S) 5.37/5.69 MARK(U21(X:S)) -> U21#(mark(X:S)) 5.37/5.69 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.37/5.69 MARK(U21(X:S)) -> MARK(X:S) 5.37/5.69 MARK(U31(X1:S,X2:S)) -> U31#(mark(X1:S),X2:S) 5.37/5.69 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.37/5.69 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.37/5.69 MARK(U41(X1:S,X2:S,X3:S)) -> U41#(mark(X1:S),X2:S,X3:S) 5.37/5.69 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.69 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.37/5.69 MARK(U42(X1:S,X2:S,X3:S)) -> U42#(mark(X1:S),X2:S,X3:S) 5.37/5.69 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.69 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.37/5.69 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.37/5.69 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.37/5.69 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.37/5.69 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.37/5.69 MARK(plus(X1:S,X2:S)) -> PLUS(mark(X1:S),mark(X2:S)) 5.37/5.69 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.37/5.69 MARK(s(X:S)) -> MARK(X:S) 5.37/5.69 MARK(s(X:S)) -> S(mark(X:S)) 5.37/5.69 PLUS(active(X1:S),X2:S) -> PLUS(X1:S,X2:S) 5.37/5.69 PLUS(mark(X1:S),X2:S) -> PLUS(X1:S,X2:S) 5.37/5.69 PLUS(X1:S,active(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.69 PLUS(X1:S,mark(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.69 S(active(X:S)) -> S(X:S) 5.37/5.69 S(mark(X:S)) -> S(X:S) 5.37/5.69 -> Rules: 5.37/5.69 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U12(active(X:S)) -> U12(X:S) 5.37/5.69 U12(mark(X:S)) -> U12(X:S) 5.37/5.69 U21(active(X:S)) -> U21(X:S) 5.37/5.69 U21(mark(X:S)) -> U21(X:S) 5.37/5.69 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.69 active(U12(tt)) -> mark(tt) 5.37/5.69 active(U21(tt)) -> mark(tt) 5.37/5.69 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.69 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.69 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.69 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.69 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.69 active(isNat(0)) -> mark(tt) 5.37/5.69 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.69 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.69 isNat(active(X:S)) -> isNat(X:S) 5.37/5.69 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.69 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.69 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.69 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.69 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.69 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.69 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.69 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.69 mark(0) -> active(0) 5.37/5.69 mark(tt) -> active(tt) 5.37/5.69 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 s(active(X:S)) -> s(X:S) 5.37/5.69 s(mark(X:S)) -> s(X:S) 5.37/5.69 ->Strongly Connected Components: 5.37/5.69 ->->Cycle: 5.37/5.69 ->->-> Pairs: 5.37/5.69 S(active(X:S)) -> S(X:S) 5.37/5.69 S(mark(X:S)) -> S(X:S) 5.37/5.69 ->->-> Rules: 5.37/5.69 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U12(active(X:S)) -> U12(X:S) 5.37/5.69 U12(mark(X:S)) -> U12(X:S) 5.37/5.69 U21(active(X:S)) -> U21(X:S) 5.37/5.69 U21(mark(X:S)) -> U21(X:S) 5.37/5.69 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.69 active(U12(tt)) -> mark(tt) 5.37/5.69 active(U21(tt)) -> mark(tt) 5.37/5.69 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.69 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.69 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.69 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.69 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.69 active(isNat(0)) -> mark(tt) 5.37/5.69 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.69 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.69 isNat(active(X:S)) -> isNat(X:S) 5.37/5.69 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.69 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.69 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.69 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.69 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.69 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.69 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.69 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.69 mark(0) -> active(0) 5.37/5.69 mark(tt) -> active(tt) 5.37/5.69 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 s(active(X:S)) -> s(X:S) 5.37/5.69 s(mark(X:S)) -> s(X:S) 5.37/5.69 ->->Cycle: 5.37/5.69 ->->-> Pairs: 5.37/5.69 PLUS(active(X1:S),X2:S) -> PLUS(X1:S,X2:S) 5.37/5.69 PLUS(mark(X1:S),X2:S) -> PLUS(X1:S,X2:S) 5.37/5.69 PLUS(X1:S,active(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.69 PLUS(X1:S,mark(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.69 ->->-> Rules: 5.37/5.69 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U12(active(X:S)) -> U12(X:S) 5.37/5.69 U12(mark(X:S)) -> U12(X:S) 5.37/5.69 U21(active(X:S)) -> U21(X:S) 5.37/5.69 U21(mark(X:S)) -> U21(X:S) 5.37/5.69 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.69 active(U12(tt)) -> mark(tt) 5.37/5.69 active(U21(tt)) -> mark(tt) 5.37/5.69 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.69 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.69 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.69 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.69 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.69 active(isNat(0)) -> mark(tt) 5.37/5.69 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.69 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.69 isNat(active(X:S)) -> isNat(X:S) 5.37/5.69 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.69 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.69 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.69 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.69 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.69 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.69 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.69 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.69 mark(0) -> active(0) 5.37/5.69 mark(tt) -> active(tt) 5.37/5.69 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 s(active(X:S)) -> s(X:S) 5.37/5.69 s(mark(X:S)) -> s(X:S) 5.37/5.69 ->->Cycle: 5.37/5.69 ->->-> Pairs: 5.37/5.69 ISNAT(active(X:S)) -> ISNAT(X:S) 5.37/5.69 ISNAT(mark(X:S)) -> ISNAT(X:S) 5.37/5.69 ->->-> Rules: 5.37/5.69 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U12(active(X:S)) -> U12(X:S) 5.37/5.69 U12(mark(X:S)) -> U12(X:S) 5.37/5.69 U21(active(X:S)) -> U21(X:S) 5.37/5.69 U21(mark(X:S)) -> U21(X:S) 5.37/5.69 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.69 active(U12(tt)) -> mark(tt) 5.37/5.69 active(U21(tt)) -> mark(tt) 5.37/5.69 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.69 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.69 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.69 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.69 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.69 active(isNat(0)) -> mark(tt) 5.37/5.69 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.69 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.69 isNat(active(X:S)) -> isNat(X:S) 5.37/5.69 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.69 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.69 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.69 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.69 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.69 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.69 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.69 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.69 mark(0) -> active(0) 5.37/5.69 mark(tt) -> active(tt) 5.37/5.69 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 s(active(X:S)) -> s(X:S) 5.37/5.69 s(mark(X:S)) -> s(X:S) 5.37/5.69 ->->Cycle: 5.37/5.69 ->->-> Pairs: 5.37/5.69 U42#(active(X1:S),X2:S,X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(mark(X1:S),X2:S,X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(X1:S,active(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(X1:S,mark(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(X1:S,X2:S,active(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 U42#(X1:S,X2:S,mark(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.37/5.69 ->->-> Rules: 5.37/5.69 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U12(active(X:S)) -> U12(X:S) 5.37/5.69 U12(mark(X:S)) -> U12(X:S) 5.37/5.69 U21(active(X:S)) -> U21(X:S) 5.37/5.69 U21(mark(X:S)) -> U21(X:S) 5.37/5.69 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.69 active(U12(tt)) -> mark(tt) 5.37/5.69 active(U21(tt)) -> mark(tt) 5.37/5.69 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.69 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.69 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.69 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.69 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.69 active(isNat(0)) -> mark(tt) 5.37/5.69 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.69 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.69 isNat(active(X:S)) -> isNat(X:S) 5.37/5.69 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.69 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.69 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.69 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.69 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.69 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.69 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.69 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.69 mark(0) -> active(0) 5.37/5.69 mark(tt) -> active(tt) 5.37/5.69 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 s(active(X:S)) -> s(X:S) 5.37/5.69 s(mark(X:S)) -> s(X:S) 5.37/5.69 ->->Cycle: 5.37/5.69 ->->-> Pairs: 5.37/5.69 U41#(active(X1:S),X2:S,X3:S) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(mark(X1:S),X2:S,X3:S) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(X1:S,active(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(X1:S,mark(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(X1:S,X2:S,active(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 U41#(X1:S,X2:S,mark(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.37/5.69 ->->-> Rules: 5.37/5.69 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U12(active(X:S)) -> U12(X:S) 5.37/5.69 U12(mark(X:S)) -> U12(X:S) 5.37/5.69 U21(active(X:S)) -> U21(X:S) 5.37/5.69 U21(mark(X:S)) -> U21(X:S) 5.37/5.69 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.69 active(U12(tt)) -> mark(tt) 5.37/5.69 active(U21(tt)) -> mark(tt) 5.37/5.69 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.69 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.69 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.69 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.69 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.69 active(isNat(0)) -> mark(tt) 5.37/5.69 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.69 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.69 isNat(active(X:S)) -> isNat(X:S) 5.37/5.69 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.69 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.69 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.69 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.69 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.69 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.69 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.69 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.69 mark(0) -> active(0) 5.37/5.69 mark(tt) -> active(tt) 5.37/5.69 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.69 s(active(X:S)) -> s(X:S) 5.37/5.69 s(mark(X:S)) -> s(X:S) 5.37/5.69 ->->Cycle: 5.37/5.69 ->->-> Pairs: 5.37/5.69 U31#(active(X1:S),X2:S) -> U31#(X1:S,X2:S) 5.37/5.69 U31#(mark(X1:S),X2:S) -> U31#(X1:S,X2:S) 5.37/5.69 U31#(X1:S,active(X2:S)) -> U31#(X1:S,X2:S) 5.37/5.69 U31#(X1:S,mark(X2:S)) -> U31#(X1:S,X2:S) 5.37/5.69 ->->-> Rules: 5.37/5.69 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.69 U12(active(X:S)) -> U12(X:S) 5.37/5.69 U12(mark(X:S)) -> U12(X:S) 5.37/5.69 U21(active(X:S)) -> U21(X:S) 5.37/5.69 U21(mark(X:S)) -> U21(X:S) 5.37/5.69 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.69 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.69 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.69 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.69 active(U12(tt)) -> mark(tt) 5.37/5.69 active(U21(tt)) -> mark(tt) 5.37/5.69 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.69 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.69 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.69 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.69 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.69 active(isNat(0)) -> mark(tt) 5.37/5.69 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.69 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.69 isNat(active(X:S)) -> isNat(X:S) 5.37/5.69 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.69 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.69 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.69 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.69 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.69 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.69 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.69 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.69 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->->Cycle: 5.37/5.70 ->->-> Pairs: 5.37/5.70 U21#(active(X:S)) -> U21#(X:S) 5.37/5.70 U21#(mark(X:S)) -> U21#(X:S) 5.37/5.70 ->->-> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->->Cycle: 5.37/5.70 ->->-> Pairs: 5.37/5.70 U12#(active(X:S)) -> U12#(X:S) 5.37/5.70 U12#(mark(X:S)) -> U12#(X:S) 5.37/5.70 ->->-> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->->Cycle: 5.37/5.70 ->->-> Pairs: 5.37/5.70 U11#(active(X1:S),X2:S) -> U11#(X1:S,X2:S) 5.37/5.70 U11#(mark(X1:S),X2:S) -> U11#(X1:S,X2:S) 5.37/5.70 U11#(X1:S,active(X2:S)) -> U11#(X1:S,X2:S) 5.37/5.70 U11#(X1:S,mark(X2:S)) -> U11#(X1:S,X2:S) 5.37/5.70 ->->-> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->->Cycle: 5.37/5.70 ->->-> Pairs: 5.37/5.70 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.37/5.70 ACTIVE(U31(tt,N:S)) -> MARK(N:S) 5.37/5.70 ACTIVE(U41(tt,M:S,N:S)) -> MARK(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 ACTIVE(U42(tt,M:S,N:S)) -> MARK(s(plus(N:S,M:S))) 5.37/5.70 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.37/5.70 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.37/5.70 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.37/5.70 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.37/5.70 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.37/5.70 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.37/5.70 MARK(U12(X:S)) -> MARK(X:S) 5.37/5.70 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.37/5.70 MARK(U21(X:S)) -> MARK(X:S) 5.37/5.70 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.37/5.70 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.37/5.70 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.37/5.70 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.37/5.70 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.37/5.70 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.37/5.70 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.37/5.70 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.37/5.70 MARK(s(X:S)) -> MARK(X:S) 5.37/5.70 ->->-> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 5.37/5.70 5.37/5.70 The problem is decomposed in 10 subproblems. 5.37/5.70 5.37/5.70 Problem 1.1: 5.37/5.70 5.37/5.70 Subterm Processor: 5.37/5.70 -> Pairs: 5.37/5.70 S(active(X:S)) -> S(X:S) 5.37/5.70 S(mark(X:S)) -> S(X:S) 5.37/5.70 -> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->Projection: 5.37/5.70 pi(S) = 1 5.37/5.70 5.37/5.70 Problem 1.1: 5.37/5.70 5.37/5.70 SCC Processor: 5.37/5.70 -> Pairs: 5.37/5.70 Empty 5.37/5.70 -> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->Strongly Connected Components: 5.37/5.70 There is no strongly connected component 5.37/5.70 5.37/5.70 The problem is finite. 5.37/5.70 5.37/5.70 Problem 1.2: 5.37/5.70 5.37/5.70 Subterm Processor: 5.37/5.70 -> Pairs: 5.37/5.70 PLUS(active(X1:S),X2:S) -> PLUS(X1:S,X2:S) 5.37/5.70 PLUS(mark(X1:S),X2:S) -> PLUS(X1:S,X2:S) 5.37/5.70 PLUS(X1:S,active(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.70 PLUS(X1:S,mark(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.70 -> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->Projection: 5.37/5.70 pi(PLUS) = 1 5.37/5.70 5.37/5.70 Problem 1.2: 5.37/5.70 5.37/5.70 SCC Processor: 5.37/5.70 -> Pairs: 5.37/5.70 PLUS(X1:S,active(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.70 PLUS(X1:S,mark(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.70 -> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->Strongly Connected Components: 5.37/5.70 ->->Cycle: 5.37/5.70 ->->-> Pairs: 5.37/5.70 PLUS(X1:S,active(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.70 PLUS(X1:S,mark(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.70 ->->-> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 5.37/5.70 Problem 1.2: 5.37/5.70 5.37/5.70 Subterm Processor: 5.37/5.70 -> Pairs: 5.37/5.70 PLUS(X1:S,active(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.70 PLUS(X1:S,mark(X2:S)) -> PLUS(X1:S,X2:S) 5.37/5.70 -> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->Projection: 5.37/5.70 pi(PLUS) = 2 5.37/5.70 5.37/5.70 Problem 1.2: 5.37/5.70 5.37/5.70 SCC Processor: 5.37/5.70 -> Pairs: 5.37/5.70 Empty 5.37/5.70 -> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->Strongly Connected Components: 5.37/5.70 There is no strongly connected component 5.37/5.70 5.37/5.70 The problem is finite. 5.37/5.70 5.37/5.70 Problem 1.3: 5.37/5.70 5.37/5.70 Subterm Processor: 5.37/5.70 -> Pairs: 5.37/5.70 ISNAT(active(X:S)) -> ISNAT(X:S) 5.37/5.70 ISNAT(mark(X:S)) -> ISNAT(X:S) 5.37/5.70 -> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->Projection: 5.37/5.70 pi(ISNAT) = 1 5.37/5.70 5.37/5.70 Problem 1.3: 5.37/5.70 5.37/5.70 SCC Processor: 5.37/5.70 -> Pairs: 5.37/5.70 Empty 5.37/5.70 -> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->Strongly Connected Components: 5.37/5.70 There is no strongly connected component 5.37/5.70 5.37/5.70 The problem is finite. 5.37/5.70 5.37/5.70 Problem 1.4: 5.37/5.70 5.37/5.70 Subterm Processor: 5.37/5.70 -> Pairs: 5.37/5.70 U42#(active(X1:S),X2:S,X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 U42#(mark(X1:S),X2:S,X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 U42#(X1:S,active(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 U42#(X1:S,mark(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 U42#(X1:S,X2:S,active(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 U42#(X1:S,X2:S,mark(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 -> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->Projection: 5.37/5.70 pi(U42#) = 1 5.37/5.70 5.37/5.70 Problem 1.4: 5.37/5.70 5.37/5.70 SCC Processor: 5.37/5.70 -> Pairs: 5.37/5.70 U42#(X1:S,active(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 U42#(X1:S,mark(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 U42#(X1:S,X2:S,active(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 U42#(X1:S,X2:S,mark(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 -> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.37/5.70 ->Strongly Connected Components: 5.37/5.70 ->->Cycle: 5.37/5.70 ->->-> Pairs: 5.37/5.70 U42#(X1:S,active(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 U42#(X1:S,mark(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 U42#(X1:S,X2:S,active(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 U42#(X1:S,X2:S,mark(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.37/5.70 ->->-> Rules: 5.37/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.37/5.70 U12(active(X:S)) -> U12(X:S) 5.37/5.70 U12(mark(X:S)) -> U12(X:S) 5.37/5.70 U21(active(X:S)) -> U21(X:S) 5.37/5.70 U21(mark(X:S)) -> U21(X:S) 5.37/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.37/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.37/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.37/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.37/5.70 active(U12(tt)) -> mark(tt) 5.37/5.70 active(U21(tt)) -> mark(tt) 5.37/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.37/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.37/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.37/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.37/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.37/5.70 active(isNat(0)) -> mark(tt) 5.37/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.37/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.37/5.70 isNat(active(X:S)) -> isNat(X:S) 5.37/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.37/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.37/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.37/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.37/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.37/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.37/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.37/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.37/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.37/5.70 mark(0) -> active(0) 5.37/5.70 mark(tt) -> active(tt) 5.37/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.37/5.70 s(active(X:S)) -> s(X:S) 5.37/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 5.46/5.70 Problem 1.4: 5.46/5.70 5.46/5.70 Subterm Processor: 5.46/5.70 -> Pairs: 5.46/5.70 U42#(X1:S,active(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.46/5.70 U42#(X1:S,mark(X2:S),X3:S) -> U42#(X1:S,X2:S,X3:S) 5.46/5.70 U42#(X1:S,X2:S,active(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.46/5.70 U42#(X1:S,X2:S,mark(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 ->Projection: 5.46/5.70 pi(U42#) = 2 5.46/5.70 5.46/5.70 Problem 1.4: 5.46/5.70 5.46/5.70 SCC Processor: 5.46/5.70 -> Pairs: 5.46/5.70 U42#(X1:S,X2:S,active(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.46/5.70 U42#(X1:S,X2:S,mark(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 ->Strongly Connected Components: 5.46/5.70 ->->Cycle: 5.46/5.70 ->->-> Pairs: 5.46/5.70 U42#(X1:S,X2:S,active(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.46/5.70 U42#(X1:S,X2:S,mark(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.46/5.70 ->->-> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 5.46/5.70 Problem 1.4: 5.46/5.70 5.46/5.70 Subterm Processor: 5.46/5.70 -> Pairs: 5.46/5.70 U42#(X1:S,X2:S,active(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.46/5.70 U42#(X1:S,X2:S,mark(X3:S)) -> U42#(X1:S,X2:S,X3:S) 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 ->Projection: 5.46/5.70 pi(U42#) = 3 5.46/5.70 5.46/5.70 Problem 1.4: 5.46/5.70 5.46/5.70 SCC Processor: 5.46/5.70 -> Pairs: 5.46/5.70 Empty 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 ->Strongly Connected Components: 5.46/5.70 There is no strongly connected component 5.46/5.70 5.46/5.70 The problem is finite. 5.46/5.70 5.46/5.70 Problem 1.5: 5.46/5.70 5.46/5.70 Subterm Processor: 5.46/5.70 -> Pairs: 5.46/5.70 U41#(active(X1:S),X2:S,X3:S) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(mark(X1:S),X2:S,X3:S) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,active(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,mark(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,X2:S,active(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,X2:S,mark(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 ->Projection: 5.46/5.70 pi(U41#) = 1 5.46/5.70 5.46/5.70 Problem 1.5: 5.46/5.70 5.46/5.70 SCC Processor: 5.46/5.70 -> Pairs: 5.46/5.70 U41#(X1:S,active(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,mark(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,X2:S,active(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,X2:S,mark(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 ->Strongly Connected Components: 5.46/5.70 ->->Cycle: 5.46/5.70 ->->-> Pairs: 5.46/5.70 U41#(X1:S,active(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,mark(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,X2:S,active(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,X2:S,mark(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 ->->-> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 5.46/5.70 Problem 1.5: 5.46/5.70 5.46/5.70 Subterm Processor: 5.46/5.70 -> Pairs: 5.46/5.70 U41#(X1:S,active(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,mark(X2:S),X3:S) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,X2:S,active(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,X2:S,mark(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 ->Projection: 5.46/5.70 pi(U41#) = 2 5.46/5.70 5.46/5.70 Problem 1.5: 5.46/5.70 5.46/5.70 SCC Processor: 5.46/5.70 -> Pairs: 5.46/5.70 U41#(X1:S,X2:S,active(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,X2:S,mark(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 ->Strongly Connected Components: 5.46/5.70 ->->Cycle: 5.46/5.70 ->->-> Pairs: 5.46/5.70 U41#(X1:S,X2:S,active(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,X2:S,mark(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 ->->-> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 5.46/5.70 Problem 1.5: 5.46/5.70 5.46/5.70 Subterm Processor: 5.46/5.70 -> Pairs: 5.46/5.70 U41#(X1:S,X2:S,active(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 U41#(X1:S,X2:S,mark(X3:S)) -> U41#(X1:S,X2:S,X3:S) 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 ->Projection: 5.46/5.70 pi(U41#) = 3 5.46/5.70 5.46/5.70 Problem 1.5: 5.46/5.70 5.46/5.70 SCC Processor: 5.46/5.70 -> Pairs: 5.46/5.70 Empty 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 ->Strongly Connected Components: 5.46/5.70 There is no strongly connected component 5.46/5.70 5.46/5.70 The problem is finite. 5.46/5.70 5.46/5.70 Problem 1.6: 5.46/5.70 5.46/5.70 Subterm Processor: 5.46/5.70 -> Pairs: 5.46/5.70 U31#(active(X1:S),X2:S) -> U31#(X1:S,X2:S) 5.46/5.70 U31#(mark(X1:S),X2:S) -> U31#(X1:S,X2:S) 5.46/5.70 U31#(X1:S,active(X2:S)) -> U31#(X1:S,X2:S) 5.46/5.70 U31#(X1:S,mark(X2:S)) -> U31#(X1:S,X2:S) 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 ->Projection: 5.46/5.70 pi(U31#) = 1 5.46/5.70 5.46/5.70 Problem 1.6: 5.46/5.70 5.46/5.70 SCC Processor: 5.46/5.70 -> Pairs: 5.46/5.70 U31#(X1:S,active(X2:S)) -> U31#(X1:S,X2:S) 5.46/5.70 U31#(X1:S,mark(X2:S)) -> U31#(X1:S,X2:S) 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 ->Strongly Connected Components: 5.46/5.70 ->->Cycle: 5.46/5.70 ->->-> Pairs: 5.46/5.70 U31#(X1:S,active(X2:S)) -> U31#(X1:S,X2:S) 5.46/5.70 U31#(X1:S,mark(X2:S)) -> U31#(X1:S,X2:S) 5.46/5.70 ->->-> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.70 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.70 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.70 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.70 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.70 mark(0) -> active(0) 5.46/5.70 mark(tt) -> active(tt) 5.46/5.70 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.70 s(active(X:S)) -> s(X:S) 5.46/5.70 s(mark(X:S)) -> s(X:S) 5.46/5.70 5.46/5.70 Problem 1.6: 5.46/5.70 5.46/5.70 Subterm Processor: 5.46/5.70 -> Pairs: 5.46/5.70 U31#(X1:S,active(X2:S)) -> U31#(X1:S,X2:S) 5.46/5.70 U31#(X1:S,mark(X2:S)) -> U31#(X1:S,X2:S) 5.46/5.70 -> Rules: 5.46/5.70 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.70 U12(active(X:S)) -> U12(X:S) 5.46/5.70 U12(mark(X:S)) -> U12(X:S) 5.46/5.70 U21(active(X:S)) -> U21(X:S) 5.46/5.70 U21(mark(X:S)) -> U21(X:S) 5.46/5.70 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.70 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.70 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.70 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.70 active(U12(tt)) -> mark(tt) 5.46/5.70 active(U21(tt)) -> mark(tt) 5.46/5.70 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.70 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.70 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.70 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.70 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.70 active(isNat(0)) -> mark(tt) 5.46/5.70 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.70 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.70 isNat(active(X:S)) -> isNat(X:S) 5.46/5.70 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.70 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.70 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.70 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.70 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Projection: 5.46/5.71 pi(U31#) = 2 5.46/5.71 5.46/5.71 Problem 1.6: 5.46/5.71 5.46/5.71 SCC Processor: 5.46/5.71 -> Pairs: 5.46/5.71 Empty 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Strongly Connected Components: 5.46/5.71 There is no strongly connected component 5.46/5.71 5.46/5.71 The problem is finite. 5.46/5.71 5.46/5.71 Problem 1.7: 5.46/5.71 5.46/5.71 Subterm Processor: 5.46/5.71 -> Pairs: 5.46/5.71 U21#(active(X:S)) -> U21#(X:S) 5.46/5.71 U21#(mark(X:S)) -> U21#(X:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Projection: 5.46/5.71 pi(U21#) = 1 5.46/5.71 5.46/5.71 Problem 1.7: 5.46/5.71 5.46/5.71 SCC Processor: 5.46/5.71 -> Pairs: 5.46/5.71 Empty 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Strongly Connected Components: 5.46/5.71 There is no strongly connected component 5.46/5.71 5.46/5.71 The problem is finite. 5.46/5.71 5.46/5.71 Problem 1.8: 5.46/5.71 5.46/5.71 Subterm Processor: 5.46/5.71 -> Pairs: 5.46/5.71 U12#(active(X:S)) -> U12#(X:S) 5.46/5.71 U12#(mark(X:S)) -> U12#(X:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Projection: 5.46/5.71 pi(U12#) = 1 5.46/5.71 5.46/5.71 Problem 1.8: 5.46/5.71 5.46/5.71 SCC Processor: 5.46/5.71 -> Pairs: 5.46/5.71 Empty 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Strongly Connected Components: 5.46/5.71 There is no strongly connected component 5.46/5.71 5.46/5.71 The problem is finite. 5.46/5.71 5.46/5.71 Problem 1.9: 5.46/5.71 5.46/5.71 Subterm Processor: 5.46/5.71 -> Pairs: 5.46/5.71 U11#(active(X1:S),X2:S) -> U11#(X1:S,X2:S) 5.46/5.71 U11#(mark(X1:S),X2:S) -> U11#(X1:S,X2:S) 5.46/5.71 U11#(X1:S,active(X2:S)) -> U11#(X1:S,X2:S) 5.46/5.71 U11#(X1:S,mark(X2:S)) -> U11#(X1:S,X2:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Projection: 5.46/5.71 pi(U11#) = 1 5.46/5.71 5.46/5.71 Problem 1.9: 5.46/5.71 5.46/5.71 SCC Processor: 5.46/5.71 -> Pairs: 5.46/5.71 U11#(X1:S,active(X2:S)) -> U11#(X1:S,X2:S) 5.46/5.71 U11#(X1:S,mark(X2:S)) -> U11#(X1:S,X2:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Strongly Connected Components: 5.46/5.71 ->->Cycle: 5.46/5.71 ->->-> Pairs: 5.46/5.71 U11#(X1:S,active(X2:S)) -> U11#(X1:S,X2:S) 5.46/5.71 U11#(X1:S,mark(X2:S)) -> U11#(X1:S,X2:S) 5.46/5.71 ->->-> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 5.46/5.71 Problem 1.9: 5.46/5.71 5.46/5.71 Subterm Processor: 5.46/5.71 -> Pairs: 5.46/5.71 U11#(X1:S,active(X2:S)) -> U11#(X1:S,X2:S) 5.46/5.71 U11#(X1:S,mark(X2:S)) -> U11#(X1:S,X2:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Projection: 5.46/5.71 pi(U11#) = 2 5.46/5.71 5.46/5.71 Problem 1.9: 5.46/5.71 5.46/5.71 SCC Processor: 5.46/5.71 -> Pairs: 5.46/5.71 Empty 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Strongly Connected Components: 5.46/5.71 There is no strongly connected component 5.46/5.71 5.46/5.71 The problem is finite. 5.46/5.71 5.46/5.71 Problem 1.10: 5.46/5.71 5.46/5.71 Reduction Pairs Processor: 5.46/5.71 -> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(U31(tt,N:S)) -> MARK(N:S) 5.46/5.71 ACTIVE(U41(tt,M:S,N:S)) -> MARK(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 ACTIVE(U42(tt,M:S,N:S)) -> MARK(s(plus(N:S,M:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 -> Usable rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Interpretation type: 5.46/5.71 Linear 5.46/5.71 ->Coefficients: 5.46/5.71 Natural Numbers 5.46/5.71 ->Dimension: 5.46/5.71 1 5.46/5.71 ->Bound: 5.46/5.71 2 5.46/5.71 ->Interpretation: 5.46/5.71 5.46/5.71 [U11](X1,X2) = X1 5.46/5.71 [U12](X) = X 5.46/5.71 [U21](X) = X 5.46/5.71 [U31](X1,X2) = 2.X1 + X2 + 2 5.46/5.71 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.71 [U42](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.71 [active](X) = X 5.46/5.71 [isNat](X) = 2 5.46/5.71 [mark](X) = X 5.46/5.71 [plus](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.71 [s](X) = X + 2 5.46/5.71 [0] = 2 5.46/5.71 [fSNonEmpty] = 0 5.46/5.71 [tt] = 2 5.46/5.71 [U11#](X1,X2) = 0 5.46/5.71 [U12#](X) = 0 5.46/5.71 [U21#](X) = 0 5.46/5.71 [U31#](X1,X2) = 0 5.46/5.71 [U41#](X1,X2,X3) = 0 5.46/5.71 [U42#](X1,X2,X3) = 0 5.46/5.71 [ACTIVE](X) = 2.X + 2 5.46/5.71 [ISNAT](X) = 0 5.46/5.71 [MARK](X) = 2.X + 2 5.46/5.71 [PLUS](X1,X2) = 0 5.46/5.71 [S](X) = 0 5.46/5.71 5.46/5.71 Problem 1.10: 5.46/5.71 5.46/5.71 SCC Processor: 5.46/5.71 -> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(U41(tt,M:S,N:S)) -> MARK(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 ACTIVE(U42(tt,M:S,N:S)) -> MARK(s(plus(N:S,M:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Strongly Connected Components: 5.46/5.71 ->->Cycle: 5.46/5.71 ->->-> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(U41(tt,M:S,N:S)) -> MARK(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 ACTIVE(U42(tt,M:S,N:S)) -> MARK(s(plus(N:S,M:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 ->->-> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 5.46/5.71 Problem 1.10: 5.46/5.71 5.46/5.71 Reduction Pairs Processor: 5.46/5.71 -> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(U41(tt,M:S,N:S)) -> MARK(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 ACTIVE(U42(tt,M:S,N:S)) -> MARK(s(plus(N:S,M:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 -> Usable rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Interpretation type: 5.46/5.71 Linear 5.46/5.71 ->Coefficients: 5.46/5.71 Natural Numbers 5.46/5.71 ->Dimension: 5.46/5.71 1 5.46/5.71 ->Bound: 5.46/5.71 2 5.46/5.71 ->Interpretation: 5.46/5.71 5.46/5.71 [U11](X1,X2) = X1 5.46/5.71 [U12](X) = X 5.46/5.71 [U21](X) = X 5.46/5.71 [U31](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.71 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.71 [U42](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 5.46/5.71 [active](X) = X 5.46/5.71 [isNat](X) = 2 5.46/5.71 [mark](X) = X 5.46/5.71 [plus](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.71 [s](X) = X + 2 5.46/5.71 [0] = 2 5.46/5.71 [fSNonEmpty] = 0 5.46/5.71 [tt] = 2 5.46/5.71 [U11#](X1,X2) = 0 5.46/5.71 [U12#](X) = 0 5.46/5.71 [U21#](X) = 0 5.46/5.71 [U31#](X1,X2) = 0 5.46/5.71 [U41#](X1,X2,X3) = 0 5.46/5.71 [U42#](X1,X2,X3) = 0 5.46/5.71 [ACTIVE](X) = 2.X + 2 5.46/5.71 [ISNAT](X) = 0 5.46/5.71 [MARK](X) = 2.X + 2 5.46/5.71 [PLUS](X1,X2) = 0 5.46/5.71 [S](X) = 0 5.46/5.71 5.46/5.71 Problem 1.10: 5.46/5.71 5.46/5.71 SCC Processor: 5.46/5.71 -> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(U42(tt,M:S,N:S)) -> MARK(s(plus(N:S,M:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Strongly Connected Components: 5.46/5.71 ->->Cycle: 5.46/5.71 ->->-> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(U42(tt,M:S,N:S)) -> MARK(s(plus(N:S,M:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 ->->-> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 5.46/5.71 Problem 1.10: 5.46/5.71 5.46/5.71 Reduction Pairs Processor: 5.46/5.71 -> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(U42(tt,M:S,N:S)) -> MARK(s(plus(N:S,M:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 -> Usable rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Interpretation type: 5.46/5.71 Linear 5.46/5.71 ->Coefficients: 5.46/5.71 Natural Numbers 5.46/5.71 ->Dimension: 5.46/5.71 1 5.46/5.71 ->Bound: 5.46/5.71 2 5.46/5.71 ->Interpretation: 5.46/5.71 5.46/5.71 [U11](X1,X2) = X1 5.46/5.71 [U12](X) = X 5.46/5.71 [U21](X) = X 5.46/5.71 [U31](X1,X2) = X1 + 2.X2 5.46/5.71 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.71 [U42](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.71 [active](X) = X 5.46/5.71 [isNat](X) = 2 5.46/5.71 [mark](X) = X 5.46/5.71 [plus](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.71 [s](X) = X + 2 5.46/5.71 [0] = 0 5.46/5.71 [fSNonEmpty] = 0 5.46/5.71 [tt] = 2 5.46/5.71 [U11#](X1,X2) = 0 5.46/5.71 [U12#](X) = 0 5.46/5.71 [U21#](X) = 0 5.46/5.71 [U31#](X1,X2) = 0 5.46/5.71 [U41#](X1,X2,X3) = 0 5.46/5.71 [U42#](X1,X2,X3) = 0 5.46/5.71 [ACTIVE](X) = 2.X 5.46/5.71 [ISNAT](X) = 0 5.46/5.71 [MARK](X) = 2.X 5.46/5.71 [PLUS](X1,X2) = 0 5.46/5.71 [S](X) = 0 5.46/5.71 5.46/5.71 Problem 1.10: 5.46/5.71 5.46/5.71 SCC Processor: 5.46/5.71 -> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Strongly Connected Components: 5.46/5.71 ->->Cycle: 5.46/5.71 ->->-> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 ->->-> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 5.46/5.71 Problem 1.10: 5.46/5.71 5.46/5.71 Reduction Pairs Processor: 5.46/5.71 -> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,s(M:S))) -> MARK(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 -> Usable rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Interpretation type: 5.46/5.71 Linear 5.46/5.71 ->Coefficients: 5.46/5.71 Natural Numbers 5.46/5.71 ->Dimension: 5.46/5.71 1 5.46/5.71 ->Bound: 5.46/5.71 2 5.46/5.71 ->Interpretation: 5.46/5.71 5.46/5.71 [U11](X1,X2) = X1 5.46/5.71 [U12](X) = X 5.46/5.71 [U21](X) = X 5.46/5.71 [U31](X1,X2) = X1 + 2.X2 + 1 5.46/5.71 [U41](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 5.46/5.71 [U42](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 5.46/5.71 [active](X) = X 5.46/5.71 [isNat](X) = 2 5.46/5.71 [mark](X) = X 5.46/5.71 [plus](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.71 [s](X) = X + 2 5.46/5.71 [0] = 2 5.46/5.71 [fSNonEmpty] = 0 5.46/5.71 [tt] = 2 5.46/5.71 [U11#](X1,X2) = 0 5.46/5.71 [U12#](X) = 0 5.46/5.71 [U21#](X) = 0 5.46/5.71 [U31#](X1,X2) = 0 5.46/5.71 [U41#](X1,X2,X3) = 0 5.46/5.71 [U42#](X1,X2,X3) = 0 5.46/5.71 [ACTIVE](X) = X + 2 5.46/5.71 [ISNAT](X) = 0 5.46/5.71 [MARK](X) = X + 2 5.46/5.71 [PLUS](X1,X2) = 0 5.46/5.71 [S](X) = 0 5.46/5.71 5.46/5.71 Problem 1.10: 5.46/5.71 5.46/5.71 SCC Processor: 5.46/5.71 -> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 ->Strongly Connected Components: 5.46/5.71 ->->Cycle: 5.46/5.71 ->->-> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 ->->-> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 5.46/5.71 Problem 1.10: 5.46/5.71 5.46/5.71 Reduction Pairs Processor: 5.46/5.71 -> Pairs: 5.46/5.71 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.71 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.71 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.71 ACTIVE(plus(N:S,0)) -> MARK(U31(isNat(N:S),N:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.71 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.71 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.71 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.71 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.71 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.71 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.71 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.71 MARK(s(X:S)) -> MARK(X:S) 5.46/5.71 -> Rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.71 active(U12(tt)) -> mark(tt) 5.46/5.71 active(U21(tt)) -> mark(tt) 5.46/5.71 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.71 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.71 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.71 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.71 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.71 active(isNat(0)) -> mark(tt) 5.46/5.71 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.71 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.71 isNat(active(X:S)) -> isNat(X:S) 5.46/5.71 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.71 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.71 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.71 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.71 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.71 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.71 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.71 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.71 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.71 mark(0) -> active(0) 5.46/5.71 mark(tt) -> active(tt) 5.46/5.71 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.71 s(active(X:S)) -> s(X:S) 5.46/5.71 s(mark(X:S)) -> s(X:S) 5.46/5.71 -> Usable rules: 5.46/5.71 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.71 U12(active(X:S)) -> U12(X:S) 5.46/5.71 U12(mark(X:S)) -> U12(X:S) 5.46/5.71 U21(active(X:S)) -> U21(X:S) 5.46/5.71 U21(mark(X:S)) -> U21(X:S) 5.46/5.71 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.71 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.71 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.71 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Interpretation type: 5.46/5.72 Linear 5.46/5.72 ->Coefficients: 5.46/5.72 Natural Numbers 5.46/5.72 ->Dimension: 5.46/5.72 1 5.46/5.72 ->Bound: 5.46/5.72 2 5.46/5.72 ->Interpretation: 5.46/5.72 5.46/5.72 [U11](X1,X2) = 2.X1 5.46/5.72 [U12](X) = 2.X 5.46/5.72 [U21](X) = 2.X 5.46/5.72 [U31](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.72 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.72 [U42](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.72 [active](X) = X 5.46/5.72 [isNat](X) = 0 5.46/5.72 [mark](X) = X 5.46/5.72 [plus](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.72 [s](X) = X 5.46/5.72 [0] = 2 5.46/5.72 [fSNonEmpty] = 0 5.46/5.72 [tt] = 0 5.46/5.72 [U11#](X1,X2) = 0 5.46/5.72 [U12#](X) = 0 5.46/5.72 [U21#](X) = 0 5.46/5.72 [U31#](X1,X2) = 0 5.46/5.72 [U41#](X1,X2,X3) = 0 5.46/5.72 [U42#](X1,X2,X3) = 0 5.46/5.72 [ACTIVE](X) = 2.X + 2 5.46/5.72 [ISNAT](X) = 0 5.46/5.72 [MARK](X) = 2.X + 2 5.46/5.72 [PLUS](X1,X2) = 0 5.46/5.72 [S](X) = 0 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 SCC Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Strongly Connected Components: 5.46/5.72 ->->Cycle: 5.46/5.72 ->->-> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 ->->-> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 Reduction Pairs Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> ACTIVE(U12(mark(X:S))) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 -> Usable rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Interpretation type: 5.46/5.72 Linear 5.46/5.72 ->Coefficients: 5.46/5.72 Natural Numbers 5.46/5.72 ->Dimension: 5.46/5.72 1 5.46/5.72 ->Bound: 5.46/5.72 2 5.46/5.72 ->Interpretation: 5.46/5.72 5.46/5.72 [U11](X1,X2) = 1 5.46/5.72 [U12](X) = 0 5.46/5.72 [U21](X) = 0 5.46/5.72 [U31](X1,X2) = 0 5.46/5.72 [U41](X1,X2,X3) = 0 5.46/5.72 [U42](X1,X2,X3) = 0 5.46/5.72 [active](X) = 2 5.46/5.72 [isNat](X) = 1 5.46/5.72 [mark](X) = 2 5.46/5.72 [plus](X1,X2) = 1 5.46/5.72 [s](X) = 0 5.46/5.72 [0] = 0 5.46/5.72 [fSNonEmpty] = 0 5.46/5.72 [tt] = 2 5.46/5.72 [U11#](X1,X2) = 0 5.46/5.72 [U12#](X) = 0 5.46/5.72 [U21#](X) = 0 5.46/5.72 [U31#](X1,X2) = 0 5.46/5.72 [U41#](X1,X2,X3) = 0 5.46/5.72 [U42#](X1,X2,X3) = 0 5.46/5.72 [ACTIVE](X) = 2.X 5.46/5.72 [ISNAT](X) = 0 5.46/5.72 [MARK](X) = 2 5.46/5.72 [PLUS](X1,X2) = 0 5.46/5.72 [S](X) = 0 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 SCC Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Strongly Connected Components: 5.46/5.72 ->->Cycle: 5.46/5.72 ->->-> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 ->->-> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 Reduction Pairs Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> ACTIVE(U21(mark(X:S))) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 -> Usable rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Interpretation type: 5.46/5.72 Linear 5.46/5.72 ->Coefficients: 5.46/5.72 Natural Numbers 5.46/5.72 ->Dimension: 5.46/5.72 1 5.46/5.72 ->Bound: 5.46/5.72 2 5.46/5.72 ->Interpretation: 5.46/5.72 5.46/5.72 [U11](X1,X2) = 2 5.46/5.72 [U12](X) = 2 5.46/5.72 [U21](X) = 1 5.46/5.72 [U31](X1,X2) = 0 5.46/5.72 [U41](X1,X2,X3) = 1 5.46/5.72 [U42](X1,X2,X3) = 1 5.46/5.72 [active](X) = 2 5.46/5.72 [isNat](X) = 2 5.46/5.72 [mark](X) = 2 5.46/5.72 [plus](X1,X2) = 2 5.46/5.72 [s](X) = 2 5.46/5.72 [0] = 2 5.46/5.72 [fSNonEmpty] = 0 5.46/5.72 [tt] = 1 5.46/5.72 [U11#](X1,X2) = 0 5.46/5.72 [U12#](X) = 0 5.46/5.72 [U21#](X) = 0 5.46/5.72 [U31#](X1,X2) = 0 5.46/5.72 [U41#](X1,X2,X3) = 0 5.46/5.72 [U42#](X1,X2,X3) = 0 5.46/5.72 [ACTIVE](X) = X 5.46/5.72 [ISNAT](X) = 0 5.46/5.72 [MARK](X) = 2 5.46/5.72 [PLUS](X1,X2) = 0 5.46/5.72 [S](X) = 0 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 SCC Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Strongly Connected Components: 5.46/5.72 ->->Cycle: 5.46/5.72 ->->-> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 ->->-> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 Reduction Pairs Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> ACTIVE(U31(mark(X1:S),X2:S)) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 -> Usable rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Interpretation type: 5.46/5.72 Linear 5.46/5.72 ->Coefficients: 5.46/5.72 Natural Numbers 5.46/5.72 ->Dimension: 5.46/5.72 1 5.46/5.72 ->Bound: 5.46/5.72 2 5.46/5.72 ->Interpretation: 5.46/5.72 5.46/5.72 [U11](X1,X2) = 2.X1 5.46/5.72 [U12](X) = 2.X 5.46/5.72 [U21](X) = X 5.46/5.72 [U31](X1,X2) = 2.X1 + X2 + 2 5.46/5.72 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.72 [U42](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.72 [active](X) = X 5.46/5.72 [isNat](X) = 0 5.46/5.72 [mark](X) = X 5.46/5.72 [plus](X1,X2) = 2.X1 + 2.X2 + 1 5.46/5.72 [s](X) = X + 1 5.46/5.72 [0] = 2 5.46/5.72 [fSNonEmpty] = 0 5.46/5.72 [tt] = 0 5.46/5.72 [U11#](X1,X2) = 0 5.46/5.72 [U12#](X) = 0 5.46/5.72 [U21#](X) = 0 5.46/5.72 [U31#](X1,X2) = 0 5.46/5.72 [U41#](X1,X2,X3) = 0 5.46/5.72 [U42#](X1,X2,X3) = 0 5.46/5.72 [ACTIVE](X) = 2 5.46/5.72 [ISNAT](X) = 0 5.46/5.72 [MARK](X) = 2.X + 2 5.46/5.72 [PLUS](X1,X2) = 0 5.46/5.72 [S](X) = 0 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 SCC Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Strongly Connected Components: 5.46/5.72 ->->Cycle: 5.46/5.72 ->->-> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 ->->-> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 Reduction Pairs Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 -> Usable rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Interpretation type: 5.46/5.72 Linear 5.46/5.72 ->Coefficients: 5.46/5.72 Natural Numbers 5.46/5.72 ->Dimension: 5.46/5.72 1 5.46/5.72 ->Bound: 5.46/5.72 2 5.46/5.72 ->Interpretation: 5.46/5.72 5.46/5.72 [U11](X1,X2) = X1 5.46/5.72 [U12](X) = X 5.46/5.72 [U21](X) = X 5.46/5.72 [U31](X1,X2) = X1 + 2.X2 + 2 5.46/5.72 [U41](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 5.46/5.72 [U42](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 5.46/5.72 [active](X) = X 5.46/5.72 [isNat](X) = 2 5.46/5.72 [mark](X) = X 5.46/5.72 [plus](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.72 [s](X) = X + 2 5.46/5.72 [0] = 2 5.46/5.72 [fSNonEmpty] = 0 5.46/5.72 [tt] = 2 5.46/5.72 [U11#](X1,X2) = 0 5.46/5.72 [U12#](X) = 0 5.46/5.72 [U21#](X) = 0 5.46/5.72 [U31#](X1,X2) = 0 5.46/5.72 [U41#](X1,X2,X3) = 0 5.46/5.72 [U42#](X1,X2,X3) = 0 5.46/5.72 [ACTIVE](X) = 2.X + 1 5.46/5.72 [ISNAT](X) = 0 5.46/5.72 [MARK](X) = 2.X + 1 5.46/5.72 [PLUS](X1,X2) = 0 5.46/5.72 [S](X) = 0 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 SCC Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Strongly Connected Components: 5.46/5.72 ->->Cycle: 5.46/5.72 ->->-> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 ->->-> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 Reduction Pairs Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> ACTIVE(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 -> Usable rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Interpretation type: 5.46/5.72 Linear 5.46/5.72 ->Coefficients: 5.46/5.72 Natural Numbers 5.46/5.72 ->Dimension: 5.46/5.72 1 5.46/5.72 ->Bound: 5.46/5.72 2 5.46/5.72 ->Interpretation: 5.46/5.72 5.46/5.72 [U11](X1,X2) = 2.X1 5.46/5.72 [U12](X) = 2.X 5.46/5.72 [U21](X) = 2.X 5.46/5.72 [U31](X1,X2) = 2.X1 + 2.X2 + 1 5.46/5.72 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.72 [U42](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.72 [active](X) = X 5.46/5.72 [isNat](X) = 0 5.46/5.72 [mark](X) = X 5.46/5.72 [plus](X1,X2) = 2.X1 + 2.X2 + 1 5.46/5.72 [s](X) = X + 1 5.46/5.72 [0] = 2 5.46/5.72 [fSNonEmpty] = 0 5.46/5.72 [tt] = 0 5.46/5.72 [U11#](X1,X2) = 0 5.46/5.72 [U12#](X) = 0 5.46/5.72 [U21#](X) = 0 5.46/5.72 [U31#](X1,X2) = 0 5.46/5.72 [U41#](X1,X2,X3) = 0 5.46/5.72 [U42#](X1,X2,X3) = 0 5.46/5.72 [ACTIVE](X) = 1 5.46/5.72 [ISNAT](X) = 0 5.46/5.72 [MARK](X) = 2.X + 1 5.46/5.72 [PLUS](X1,X2) = 0 5.46/5.72 [S](X) = 0 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 SCC Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Strongly Connected Components: 5.46/5.72 ->->Cycle: 5.46/5.72 ->->-> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 ->->-> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 Reduction Pairs Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 -> Usable rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Interpretation type: 5.46/5.72 Linear 5.46/5.72 ->Coefficients: 5.46/5.72 Natural Numbers 5.46/5.72 ->Dimension: 5.46/5.72 1 5.46/5.72 ->Bound: 5.46/5.72 2 5.46/5.72 ->Interpretation: 5.46/5.72 5.46/5.72 [U11](X1,X2) = X1 5.46/5.72 [U12](X) = X 5.46/5.72 [U21](X) = X 5.46/5.72 [U31](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.72 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.72 [U42](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.72 [active](X) = X 5.46/5.72 [isNat](X) = 2 5.46/5.72 [mark](X) = X 5.46/5.72 [plus](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.72 [s](X) = X + 2 5.46/5.72 [0] = 2 5.46/5.72 [fSNonEmpty] = 0 5.46/5.72 [tt] = 2 5.46/5.72 [U11#](X1,X2) = 0 5.46/5.72 [U12#](X) = 0 5.46/5.72 [U21#](X) = 0 5.46/5.72 [U31#](X1,X2) = 0 5.46/5.72 [U41#](X1,X2,X3) = 0 5.46/5.72 [U42#](X1,X2,X3) = 0 5.46/5.72 [ACTIVE](X) = 2.X + 2 5.46/5.72 [ISNAT](X) = 0 5.46/5.72 [MARK](X) = 2.X + 2 5.46/5.72 [PLUS](X1,X2) = 0 5.46/5.72 [S](X) = 0 5.46/5.72 5.46/5.72 Problem 1.10: 5.46/5.72 5.46/5.72 SCC Processor: 5.46/5.72 -> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.72 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.72 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.72 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.72 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.72 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.72 MARK(s(X:S)) -> MARK(X:S) 5.46/5.72 -> Rules: 5.46/5.72 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.72 U12(active(X:S)) -> U12(X:S) 5.46/5.72 U12(mark(X:S)) -> U12(X:S) 5.46/5.72 U21(active(X:S)) -> U21(X:S) 5.46/5.72 U21(mark(X:S)) -> U21(X:S) 5.46/5.72 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.72 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.72 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.72 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.72 active(U12(tt)) -> mark(tt) 5.46/5.72 active(U21(tt)) -> mark(tt) 5.46/5.72 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.72 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.72 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.72 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.72 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.72 active(isNat(0)) -> mark(tt) 5.46/5.72 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.72 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.72 isNat(active(X:S)) -> isNat(X:S) 5.46/5.72 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.72 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.72 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.72 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.72 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.72 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.72 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.72 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.72 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.72 mark(0) -> active(0) 5.46/5.72 mark(tt) -> active(tt) 5.46/5.72 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.72 s(active(X:S)) -> s(X:S) 5.46/5.72 s(mark(X:S)) -> s(X:S) 5.46/5.72 ->Strongly Connected Components: 5.46/5.72 ->->Cycle: 5.46/5.72 ->->-> Pairs: 5.46/5.72 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.72 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 ->->-> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 5.46/5.73 Problem 1.10: 5.46/5.73 5.46/5.73 Reduction Pairs Processor: 5.46/5.73 -> Pairs: 5.46/5.73 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.73 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U42(X1:S,X2:S,X3:S)) -> ACTIVE(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 -> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 -> Usable rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 ->Interpretation type: 5.46/5.73 Linear 5.46/5.73 ->Coefficients: 5.46/5.73 Natural Numbers 5.46/5.73 ->Dimension: 5.46/5.73 1 5.46/5.73 ->Bound: 5.46/5.73 2 5.46/5.73 ->Interpretation: 5.46/5.73 5.46/5.73 [U11](X1,X2) = 2 5.46/5.73 [U12](X) = 0 5.46/5.73 [U21](X) = 1 5.46/5.73 [U31](X1,X2) = 2 5.46/5.73 [U41](X1,X2,X3) = 2 5.46/5.73 [U42](X1,X2,X3) = 0 5.46/5.73 [active](X) = 2 5.46/5.73 [isNat](X) = 2 5.46/5.73 [mark](X) = 2 5.46/5.73 [plus](X1,X2) = 2 5.46/5.73 [s](X) = 1 5.46/5.73 [0] = 1 5.46/5.73 [fSNonEmpty] = 0 5.46/5.73 [tt] = 2 5.46/5.73 [U11#](X1,X2) = 0 5.46/5.73 [U12#](X) = 0 5.46/5.73 [U21#](X) = 0 5.46/5.73 [U31#](X1,X2) = 0 5.46/5.73 [U41#](X1,X2,X3) = 0 5.46/5.73 [U42#](X1,X2,X3) = 0 5.46/5.73 [ACTIVE](X) = X 5.46/5.73 [ISNAT](X) = 0 5.46/5.73 [MARK](X) = 2 5.46/5.73 [PLUS](X1,X2) = 0 5.46/5.73 [S](X) = 0 5.46/5.73 5.46/5.73 Problem 1.10: 5.46/5.73 5.46/5.73 SCC Processor: 5.46/5.73 -> Pairs: 5.46/5.73 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.73 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 -> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 ->Strongly Connected Components: 5.46/5.73 ->->Cycle: 5.46/5.73 ->->-> Pairs: 5.46/5.73 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.73 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 ->->-> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 5.46/5.73 Problem 1.10: 5.46/5.73 5.46/5.73 Reduction Pairs Processor: 5.46/5.73 -> Pairs: 5.46/5.73 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.73 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U42(X1:S,X2:S,X3:S)) -> MARK(X1:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 -> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 -> Usable rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 ->Interpretation type: 5.46/5.73 Linear 5.46/5.73 ->Coefficients: 5.46/5.73 Natural Numbers 5.46/5.73 ->Dimension: 5.46/5.73 1 5.46/5.73 ->Bound: 5.46/5.73 2 5.46/5.73 ->Interpretation: 5.46/5.73 5.46/5.73 [U11](X1,X2) = X1 5.46/5.73 [U12](X) = X 5.46/5.73 [U21](X) = X 5.46/5.73 [U31](X1,X2) = X1 + 2.X2 + 2 5.46/5.73 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 5.46/5.73 [U42](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 1 5.46/5.73 [active](X) = X 5.46/5.73 [isNat](X) = 2 5.46/5.73 [mark](X) = X 5.46/5.73 [plus](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.73 [s](X) = X + 2 5.46/5.73 [0] = 2 5.46/5.73 [fSNonEmpty] = 0 5.46/5.73 [tt] = 2 5.46/5.73 [U11#](X1,X2) = 0 5.46/5.73 [U12#](X) = 0 5.46/5.73 [U21#](X) = 0 5.46/5.73 [U31#](X1,X2) = 0 5.46/5.73 [U41#](X1,X2,X3) = 0 5.46/5.73 [U42#](X1,X2,X3) = 0 5.46/5.73 [ACTIVE](X) = 2.X + 2 5.46/5.73 [ISNAT](X) = 0 5.46/5.73 [MARK](X) = 2.X + 2 5.46/5.73 [PLUS](X1,X2) = 0 5.46/5.73 [S](X) = 0 5.46/5.73 5.46/5.73 Problem 1.10: 5.46/5.73 5.46/5.73 SCC Processor: 5.46/5.73 -> Pairs: 5.46/5.73 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.73 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 -> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 ->Strongly Connected Components: 5.46/5.73 ->->Cycle: 5.46/5.73 ->->-> Pairs: 5.46/5.73 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.73 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 ->->-> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 5.46/5.73 Problem 1.10: 5.46/5.73 5.46/5.73 Reduction Pairs Processor: 5.46/5.73 -> Pairs: 5.46/5.73 ACTIVE(U11(tt,V2:S)) -> MARK(U12(isNat(V2:S))) 5.46/5.73 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 -> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 -> Usable rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 ->Interpretation type: 5.46/5.73 Linear 5.46/5.73 ->Coefficients: 5.46/5.73 Natural Numbers 5.46/5.73 ->Dimension: 5.46/5.73 1 5.46/5.73 ->Bound: 5.46/5.73 2 5.46/5.73 ->Interpretation: 5.46/5.73 5.46/5.73 [U11](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.73 [U12](X) = X 5.46/5.73 [U21](X) = X 5.46/5.73 [U31](X1,X2) = 2.X2 + 2 5.46/5.73 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 5.46/5.73 [U42](X1,X2,X3) = 2.X2 + 2.X3 + 2 5.46/5.73 [active](X) = X 5.46/5.73 [isNat](X) = 2.X + 2 5.46/5.73 [mark](X) = X 5.46/5.73 [plus](X1,X2) = 2.X1 + 2.X2 + 2 5.46/5.73 [s](X) = X 5.46/5.73 [0] = 2 5.46/5.73 [fSNonEmpty] = 0 5.46/5.73 [tt] = 2 5.46/5.73 [U11#](X1,X2) = 0 5.46/5.73 [U12#](X) = 0 5.46/5.73 [U21#](X) = 0 5.46/5.73 [U31#](X1,X2) = 0 5.46/5.73 [U41#](X1,X2,X3) = 0 5.46/5.73 [U42#](X1,X2,X3) = 0 5.46/5.73 [ACTIVE](X) = 2.X + 2 5.46/5.73 [ISNAT](X) = 0 5.46/5.73 [MARK](X) = 2.X + 2 5.46/5.73 [PLUS](X1,X2) = 0 5.46/5.73 [S](X) = 0 5.46/5.73 5.46/5.73 Problem 1.10: 5.46/5.73 5.46/5.73 SCC Processor: 5.46/5.73 -> Pairs: 5.46/5.73 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 -> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 ->Strongly Connected Components: 5.46/5.73 ->->Cycle: 5.46/5.73 ->->-> Pairs: 5.46/5.73 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 ->->-> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 5.46/5.73 Problem 1.10: 5.46/5.73 5.46/5.73 Reduction Pairs Processor: 5.46/5.73 -> Pairs: 5.46/5.73 ACTIVE(isNat(plus(V1:S,V2:S))) -> MARK(U11(isNat(V1:S),V2:S)) 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 -> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 -> Usable rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 ->Interpretation type: 5.46/5.73 Linear 5.46/5.73 ->Coefficients: 5.46/5.73 Natural Numbers 5.46/5.73 ->Dimension: 5.46/5.73 1 5.46/5.73 ->Bound: 5.46/5.73 2 5.46/5.73 ->Interpretation: 5.46/5.73 5.46/5.73 [U11](X1,X2) = X1 + 2.X2 + 1 5.46/5.73 [U12](X) = X 5.46/5.73 [U21](X) = X + 1 5.46/5.73 [U31](X1,X2) = X2 + 1 5.46/5.73 [U41](X1,X2,X3) = 2.X2 + X3 + 2 5.46/5.73 [U42](X1,X2,X3) = 2.X2 + X3 + 2 5.46/5.73 [active](X) = X 5.46/5.73 [isNat](X) = 2.X + 2 5.46/5.73 [mark](X) = X 5.46/5.73 [plus](X1,X2) = X1 + 2.X2 + 1 5.46/5.73 [s](X) = X + 1 5.46/5.73 [0] = 2 5.46/5.73 [fSNonEmpty] = 0 5.46/5.73 [tt] = 2 5.46/5.73 [U11#](X1,X2) = 0 5.46/5.73 [U12#](X) = 0 5.46/5.73 [U21#](X) = 0 5.46/5.73 [U31#](X1,X2) = 0 5.46/5.73 [U41#](X1,X2,X3) = 0 5.46/5.73 [U42#](X1,X2,X3) = 0 5.46/5.73 [ACTIVE](X) = X + 2 5.46/5.73 [ISNAT](X) = 0 5.46/5.73 [MARK](X) = X + 2 5.46/5.73 [PLUS](X1,X2) = 0 5.46/5.73 [S](X) = 0 5.46/5.73 5.46/5.73 Problem 1.10: 5.46/5.73 5.46/5.73 SCC Processor: 5.46/5.73 -> Pairs: 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 -> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 ->Strongly Connected Components: 5.46/5.73 ->->Cycle: 5.46/5.73 ->->-> Pairs: 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 ->->-> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 5.46/5.73 Problem 1.10: 5.46/5.73 5.46/5.73 Reduction Pairs Processor: 5.46/5.73 -> Pairs: 5.46/5.73 ACTIVE(isNat(s(V1:S))) -> MARK(U21(isNat(V1:S))) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 -> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 -> Usable rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 ->Interpretation type: 5.46/5.73 Linear 5.46/5.73 ->Coefficients: 5.46/5.73 Natural Numbers 5.46/5.73 ->Dimension: 5.46/5.73 1 5.46/5.73 ->Bound: 5.46/5.73 2 5.46/5.73 ->Interpretation: 5.46/5.73 5.46/5.73 [U11](X1,X2) = X1 + 2.X2 5.46/5.73 [U12](X) = X 5.46/5.73 [U21](X) = X + 1 5.46/5.73 [U31](X1,X2) = 2.X2 + 2 5.46/5.73 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 5.46/5.73 [U42](X1,X2,X3) = 2.X2 + 2.X3 + 2 5.46/5.73 [active](X) = X 5.46/5.73 [isNat](X) = 2.X + 2 5.46/5.73 [mark](X) = X 5.46/5.73 [plus](X1,X2) = 2.X1 + 2.X2 5.46/5.73 [s](X) = X + 2 5.46/5.73 [0] = 2 5.46/5.73 [fSNonEmpty] = 0 5.46/5.73 [tt] = 2 5.46/5.73 [U11#](X1,X2) = 0 5.46/5.73 [U12#](X) = 0 5.46/5.73 [U21#](X) = 0 5.46/5.73 [U31#](X1,X2) = 0 5.46/5.73 [U41#](X1,X2,X3) = 0 5.46/5.73 [U42#](X1,X2,X3) = 0 5.46/5.73 [ACTIVE](X) = 2.X + 2 5.46/5.73 [ISNAT](X) = 0 5.46/5.73 [MARK](X) = 2.X + 2 5.46/5.73 [PLUS](X1,X2) = 0 5.46/5.73 [S](X) = 0 5.46/5.73 5.46/5.73 Problem 1.10: 5.46/5.73 5.46/5.73 SCC Processor: 5.46/5.73 -> Pairs: 5.46/5.73 MARK(U11(X1:S,X2:S)) -> ACTIVE(U11(mark(X1:S),X2:S)) 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(isNat(X:S)) -> ACTIVE(isNat(X:S)) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> ACTIVE(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> ACTIVE(s(mark(X:S))) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 -> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 ->Strongly Connected Components: 5.46/5.73 ->->Cycle: 5.46/5.73 ->->-> Pairs: 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 ->->-> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 5.46/5.73 Problem 1.10: 5.46/5.73 5.46/5.73 Subterm Processor: 5.46/5.73 -> Pairs: 5.46/5.73 MARK(U11(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(U12(X:S)) -> MARK(X:S) 5.46/5.73 MARK(U21(X:S)) -> MARK(X:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 5.46/5.73 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 5.46/5.73 MARK(s(X:S)) -> MARK(X:S) 5.46/5.73 -> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 ->Projection: 5.46/5.73 pi(MARK) = 1 5.46/5.73 5.46/5.73 Problem 1.10: 5.46/5.73 5.46/5.73 SCC Processor: 5.46/5.73 -> Pairs: 5.46/5.73 Empty 5.46/5.73 -> Rules: 5.46/5.73 U11(active(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(mark(X1:S),X2:S) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,active(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U11(X1:S,mark(X2:S)) -> U11(X1:S,X2:S) 5.46/5.73 U12(active(X:S)) -> U12(X:S) 5.46/5.73 U12(mark(X:S)) -> U12(X:S) 5.46/5.73 U21(active(X:S)) -> U21(X:S) 5.46/5.73 U21(mark(X:S)) -> U21(X:S) 5.46/5.73 U31(active(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(mark(X1:S),X2:S) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,active(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U31(X1:S,mark(X2:S)) -> U31(X1:S,X2:S) 5.46/5.73 U41(active(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(mark(X1:S),X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,active(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,mark(X2:S),X3:S) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,active(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U41(X1:S,X2:S,mark(X3:S)) -> U41(X1:S,X2:S,X3:S) 5.46/5.73 U42(active(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(mark(X1:S),X2:S,X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,active(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,mark(X2:S),X3:S) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,active(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 U42(X1:S,X2:S,mark(X3:S)) -> U42(X1:S,X2:S,X3:S) 5.46/5.73 active(U11(tt,V2:S)) -> mark(U12(isNat(V2:S))) 5.46/5.73 active(U12(tt)) -> mark(tt) 5.46/5.73 active(U21(tt)) -> mark(tt) 5.46/5.73 active(U31(tt,N:S)) -> mark(N:S) 5.46/5.73 active(U41(tt,M:S,N:S)) -> mark(U42(isNat(N:S),M:S,N:S)) 5.46/5.73 active(U42(tt,M:S,N:S)) -> mark(s(plus(N:S,M:S))) 5.46/5.73 active(isNat(plus(V1:S,V2:S))) -> mark(U11(isNat(V1:S),V2:S)) 5.46/5.73 active(isNat(s(V1:S))) -> mark(U21(isNat(V1:S))) 5.46/5.73 active(isNat(0)) -> mark(tt) 5.46/5.73 active(plus(N:S,s(M:S))) -> mark(U41(isNat(M:S),M:S,N:S)) 5.46/5.73 active(plus(N:S,0)) -> mark(U31(isNat(N:S),N:S)) 5.46/5.73 isNat(active(X:S)) -> isNat(X:S) 5.46/5.73 isNat(mark(X:S)) -> isNat(X:S) 5.46/5.73 mark(U11(X1:S,X2:S)) -> active(U11(mark(X1:S),X2:S)) 5.46/5.73 mark(U12(X:S)) -> active(U12(mark(X:S))) 5.46/5.73 mark(U21(X:S)) -> active(U21(mark(X:S))) 5.46/5.73 mark(U31(X1:S,X2:S)) -> active(U31(mark(X1:S),X2:S)) 5.46/5.73 mark(U41(X1:S,X2:S,X3:S)) -> active(U41(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(U42(X1:S,X2:S,X3:S)) -> active(U42(mark(X1:S),X2:S,X3:S)) 5.46/5.73 mark(isNat(X:S)) -> active(isNat(X:S)) 5.46/5.73 mark(plus(X1:S,X2:S)) -> active(plus(mark(X1:S),mark(X2:S))) 5.46/5.73 mark(s(X:S)) -> active(s(mark(X:S))) 5.46/5.73 mark(0) -> active(0) 5.46/5.73 mark(tt) -> active(tt) 5.46/5.73 plus(active(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(mark(X1:S),X2:S) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,active(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 plus(X1:S,mark(X2:S)) -> plus(X1:S,X2:S) 5.46/5.73 s(active(X:S)) -> s(X:S) 5.46/5.73 s(mark(X:S)) -> s(X:S) 5.46/5.73 ->Strongly Connected Components: 5.46/5.73 There is no strongly connected component 5.46/5.73 5.46/5.73 The problem is finite. 5.46/5.73 EOF