6.24/6.63 YES 6.24/6.63 6.24/6.63 Problem 1: 6.24/6.63 6.24/6.63 (VAR A B V1 V2 X Y) 6.24/6.63 (THEORY 6.24/6.63 (AC mult plus union)) 6.24/6.63 (RULES 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 ) 6.24/6.63 6.24/6.63 Problem 1: 6.24/6.63 6.24/6.63 Dependency Pairs Processor: 6.24/6.63 -> FAxioms: 6.24/6.63 MULT(mult(x6,x7),x8) = MULT(x6,mult(x7,x8)) 6.24/6.63 MULT(x6,x7) = MULT(x7,x6) 6.24/6.63 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.63 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.63 UNION(union(x6,x7),x8) = UNION(x6,union(x7,x8)) 6.24/6.63 UNION(x6,x7) = UNION(x7,x6) 6.24/6.63 -> Pairs: 6.24/6.63 U101#(tt,X,Y) -> U102#(isBin(Y),X,Y) 6.24/6.63 U101#(tt,X,Y) -> ISBIN(Y) 6.24/6.63 U102#(tt,X,Y) -> 0#(mult(X,Y)) 6.24/6.63 U102#(tt,X,Y) -> MULT(X,Y) 6.24/6.63 U111#(tt,X,Y) -> U112#(isBin(Y),X,Y) 6.24/6.63 U111#(tt,X,Y) -> ISBIN(Y) 6.24/6.63 U112#(tt,X,Y) -> 0#(mult(X,Y)) 6.24/6.63 U112#(tt,X,Y) -> MULT(X,Y) 6.24/6.63 U112#(tt,X,Y) -> PLUS(0(mult(X,Y)),Y) 6.24/6.63 U131#(tt,X,Y) -> U132#(isBin(Y),X,Y) 6.24/6.63 U131#(tt,X,Y) -> ISBIN(Y) 6.24/6.63 U132#(tt,X,Y) -> 0#(plus(X,Y)) 6.24/6.63 U132#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 U141#(tt,X,Y) -> U142#(isBin(Y),X,Y) 6.24/6.63 U141#(tt,X,Y) -> ISBIN(Y) 6.24/6.63 U142#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 U151#(tt,X,Y) -> U152#(isBin(Y),X,Y) 6.24/6.63 U151#(tt,X,Y) -> ISBIN(Y) 6.24/6.63 U152#(tt,X,Y) -> 0#(plus(plus(X,Y),1(z))) 6.24/6.63 U152#(tt,X,Y) -> PLUS(plus(X,Y),1(z)) 6.24/6.63 U152#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 U171#(tt,A,B) -> U172#(isBag(B),A,B) 6.24/6.63 U171#(tt,A,B) -> ISBAG(B) 6.24/6.63 U172#(tt,A,B) -> MULT(prod(A),prod(B)) 6.24/6.63 U172#(tt,A,B) -> PROD(A) 6.24/6.63 U172#(tt,A,B) -> PROD(B) 6.24/6.63 U191#(tt,A,B) -> U192#(isBag(B),A,B) 6.24/6.63 U191#(tt,A,B) -> ISBAG(B) 6.24/6.63 U192#(tt,A,B) -> PLUS(sum(A),sum(B)) 6.24/6.63 U192#(tt,A,B) -> SUM(A) 6.24/6.63 U192#(tt,A,B) -> SUM(B) 6.24/6.63 U21#(tt,V2) -> U22#(isBag(V2)) 6.24/6.63 U21#(tt,V2) -> ISBAG(V2) 6.24/6.63 U51#(tt,V2) -> U52#(isBin(V2)) 6.24/6.63 U51#(tt,V2) -> ISBIN(V2) 6.24/6.63 U61#(tt,V2) -> U62#(isBin(V2)) 6.24/6.63 U61#(tt,V2) -> ISBIN(V2) 6.24/6.63 ISBAG(union(V1,V2)) -> U21#(isBag(V1),V2) 6.24/6.63 ISBAG(union(V1,V2)) -> ISBAG(V1) 6.24/6.63 ISBAG(singl(V1)) -> U11#(isBin(V1)) 6.24/6.63 ISBAG(singl(V1)) -> ISBIN(V1) 6.24/6.63 ISBIN(0(V1)) -> U31#(isBin(V1)) 6.24/6.63 ISBIN(0(V1)) -> ISBIN(V1) 6.24/6.63 ISBIN(mult(V1,V2)) -> U51#(isBin(V1),V2) 6.24/6.63 ISBIN(mult(V1,V2)) -> ISBIN(V1) 6.24/6.63 ISBIN(plus(V1,V2)) -> U61#(isBin(V1),V2) 6.24/6.63 ISBIN(plus(V1,V2)) -> ISBIN(V1) 6.24/6.63 ISBIN(prod(V1)) -> U71#(isBag(V1)) 6.24/6.63 ISBIN(prod(V1)) -> ISBAG(V1) 6.24/6.63 ISBIN(sum(V1)) -> U81#(isBag(V1)) 6.24/6.63 ISBIN(sum(V1)) -> ISBAG(V1) 6.24/6.63 ISBIN(1(V1)) -> U41#(isBin(V1)) 6.24/6.63 ISBIN(1(V1)) -> ISBIN(V1) 6.24/6.63 MULT(0(X),Y) -> U101#(isBin(X),X,Y) 6.24/6.63 MULT(0(X),Y) -> ISBIN(X) 6.24/6.63 MULT(mult(0(X),Y),x6) -> U101#(isBin(X),X,Y) 6.24/6.63 MULT(mult(0(X),Y),x6) -> ISBIN(X) 6.24/6.63 MULT(mult(0(X),Y),x6) -> MULT(U101(isBin(X),X,Y),x6) 6.24/6.63 MULT(mult(1(X),Y),x6) -> U111#(isBin(X),X,Y) 6.24/6.63 MULT(mult(1(X),Y),x6) -> ISBIN(X) 6.24/6.63 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.63 MULT(mult(z,X),x6) -> U91#(isBin(X)) 6.24/6.63 MULT(mult(z,X),x6) -> ISBIN(X) 6.24/6.63 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.63 MULT(1(X),Y) -> U111#(isBin(X),X,Y) 6.24/6.63 MULT(1(X),Y) -> ISBIN(X) 6.24/6.63 MULT(z,X) -> U91#(isBin(X)) 6.24/6.63 MULT(z,X) -> ISBIN(X) 6.24/6.63 PLUS(0(X),0(Y)) -> U131#(isBin(X),X,Y) 6.24/6.63 PLUS(0(X),0(Y)) -> ISBIN(X) 6.24/6.63 PLUS(0(X),1(Y)) -> U141#(isBin(X),X,Y) 6.24/6.63 PLUS(0(X),1(Y)) -> ISBIN(X) 6.24/6.63 PLUS(plus(0(X),0(Y)),x6) -> U131#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),0(Y)),x6) -> ISBIN(X) 6.24/6.63 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(0(X),1(Y)),x6) -> U141#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),1(Y)),x6) -> ISBIN(X) 6.24/6.63 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(1(X),1(Y)),x6) -> U151#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(1(X),1(Y)),x6) -> ISBIN(X) 6.24/6.63 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(z,X),x6) -> U121#(isBin(X),X) 6.24/6.63 PLUS(plus(z,X),x6) -> ISBIN(X) 6.24/6.63 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.63 PLUS(1(X),1(Y)) -> U151#(isBin(X),X,Y) 6.24/6.63 PLUS(1(X),1(Y)) -> ISBIN(X) 6.24/6.63 PLUS(z,X) -> U121#(isBin(X),X) 6.24/6.63 PLUS(z,X) -> ISBIN(X) 6.24/6.63 PROD(union(A,B)) -> U171#(isBag(A),A,B) 6.24/6.63 PROD(union(A,B)) -> ISBAG(A) 6.24/6.63 PROD(singl(X)) -> U161#(isBin(X),X) 6.24/6.63 PROD(singl(X)) -> ISBIN(X) 6.24/6.63 SUM(union(A,B)) -> U191#(isBag(A),A,B) 6.24/6.63 SUM(union(A,B)) -> ISBAG(A) 6.24/6.63 SUM(empty) -> 0#(z) 6.24/6.63 SUM(singl(X)) -> U181#(isBin(X),X) 6.24/6.63 SUM(singl(X)) -> ISBIN(X) 6.24/6.63 UNION(union(empty,X),x6) -> UNION(X,x6) 6.24/6.63 UNION(union(X,empty),x6) -> UNION(X,x6) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 -> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.63 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.63 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.63 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.63 UNION(union(x6,x7),x8) -> UNION(x6,x7) 6.24/6.63 UNION(x6,union(x7,x8)) -> UNION(x7,x8) 6.24/6.63 6.24/6.63 Problem 1: 6.24/6.63 6.24/6.63 SCC Processor: 6.24/6.63 -> FAxioms: 6.24/6.63 MULT(mult(x6,x7),x8) = MULT(x6,mult(x7,x8)) 6.24/6.63 MULT(x6,x7) = MULT(x7,x6) 6.24/6.63 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.63 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.63 UNION(union(x6,x7),x8) = UNION(x6,union(x7,x8)) 6.24/6.63 UNION(x6,x7) = UNION(x7,x6) 6.24/6.63 -> Pairs: 6.24/6.63 U101#(tt,X,Y) -> U102#(isBin(Y),X,Y) 6.24/6.63 U101#(tt,X,Y) -> ISBIN(Y) 6.24/6.63 U102#(tt,X,Y) -> 0#(mult(X,Y)) 6.24/6.63 U102#(tt,X,Y) -> MULT(X,Y) 6.24/6.63 U111#(tt,X,Y) -> U112#(isBin(Y),X,Y) 6.24/6.63 U111#(tt,X,Y) -> ISBIN(Y) 6.24/6.63 U112#(tt,X,Y) -> 0#(mult(X,Y)) 6.24/6.63 U112#(tt,X,Y) -> MULT(X,Y) 6.24/6.63 U112#(tt,X,Y) -> PLUS(0(mult(X,Y)),Y) 6.24/6.63 U131#(tt,X,Y) -> U132#(isBin(Y),X,Y) 6.24/6.63 U131#(tt,X,Y) -> ISBIN(Y) 6.24/6.63 U132#(tt,X,Y) -> 0#(plus(X,Y)) 6.24/6.63 U132#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 U141#(tt,X,Y) -> U142#(isBin(Y),X,Y) 6.24/6.63 U141#(tt,X,Y) -> ISBIN(Y) 6.24/6.63 U142#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 U151#(tt,X,Y) -> U152#(isBin(Y),X,Y) 6.24/6.63 U151#(tt,X,Y) -> ISBIN(Y) 6.24/6.63 U152#(tt,X,Y) -> 0#(plus(plus(X,Y),1(z))) 6.24/6.63 U152#(tt,X,Y) -> PLUS(plus(X,Y),1(z)) 6.24/6.63 U152#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 U171#(tt,A,B) -> U172#(isBag(B),A,B) 6.24/6.63 U171#(tt,A,B) -> ISBAG(B) 6.24/6.63 U172#(tt,A,B) -> MULT(prod(A),prod(B)) 6.24/6.63 U172#(tt,A,B) -> PROD(A) 6.24/6.63 U172#(tt,A,B) -> PROD(B) 6.24/6.63 U191#(tt,A,B) -> U192#(isBag(B),A,B) 6.24/6.63 U191#(tt,A,B) -> ISBAG(B) 6.24/6.63 U192#(tt,A,B) -> PLUS(sum(A),sum(B)) 6.24/6.63 U192#(tt,A,B) -> SUM(A) 6.24/6.63 U192#(tt,A,B) -> SUM(B) 6.24/6.63 U21#(tt,V2) -> U22#(isBag(V2)) 6.24/6.63 U21#(tt,V2) -> ISBAG(V2) 6.24/6.63 U51#(tt,V2) -> U52#(isBin(V2)) 6.24/6.63 U51#(tt,V2) -> ISBIN(V2) 6.24/6.63 U61#(tt,V2) -> U62#(isBin(V2)) 6.24/6.63 U61#(tt,V2) -> ISBIN(V2) 6.24/6.63 ISBAG(union(V1,V2)) -> U21#(isBag(V1),V2) 6.24/6.63 ISBAG(union(V1,V2)) -> ISBAG(V1) 6.24/6.63 ISBAG(singl(V1)) -> U11#(isBin(V1)) 6.24/6.63 ISBAG(singl(V1)) -> ISBIN(V1) 6.24/6.63 ISBIN(0(V1)) -> U31#(isBin(V1)) 6.24/6.63 ISBIN(0(V1)) -> ISBIN(V1) 6.24/6.63 ISBIN(mult(V1,V2)) -> U51#(isBin(V1),V2) 6.24/6.63 ISBIN(mult(V1,V2)) -> ISBIN(V1) 6.24/6.63 ISBIN(plus(V1,V2)) -> U61#(isBin(V1),V2) 6.24/6.63 ISBIN(plus(V1,V2)) -> ISBIN(V1) 6.24/6.63 ISBIN(prod(V1)) -> U71#(isBag(V1)) 6.24/6.63 ISBIN(prod(V1)) -> ISBAG(V1) 6.24/6.63 ISBIN(sum(V1)) -> U81#(isBag(V1)) 6.24/6.63 ISBIN(sum(V1)) -> ISBAG(V1) 6.24/6.63 ISBIN(1(V1)) -> U41#(isBin(V1)) 6.24/6.63 ISBIN(1(V1)) -> ISBIN(V1) 6.24/6.63 MULT(0(X),Y) -> U101#(isBin(X),X,Y) 6.24/6.63 MULT(0(X),Y) -> ISBIN(X) 6.24/6.63 MULT(mult(0(X),Y),x6) -> U101#(isBin(X),X,Y) 6.24/6.63 MULT(mult(0(X),Y),x6) -> ISBIN(X) 6.24/6.63 MULT(mult(0(X),Y),x6) -> MULT(U101(isBin(X),X,Y),x6) 6.24/6.63 MULT(mult(1(X),Y),x6) -> U111#(isBin(X),X,Y) 6.24/6.63 MULT(mult(1(X),Y),x6) -> ISBIN(X) 6.24/6.63 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.63 MULT(mult(z,X),x6) -> U91#(isBin(X)) 6.24/6.63 MULT(mult(z,X),x6) -> ISBIN(X) 6.24/6.63 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.63 MULT(1(X),Y) -> U111#(isBin(X),X,Y) 6.24/6.63 MULT(1(X),Y) -> ISBIN(X) 6.24/6.63 MULT(z,X) -> U91#(isBin(X)) 6.24/6.63 MULT(z,X) -> ISBIN(X) 6.24/6.63 PLUS(0(X),0(Y)) -> U131#(isBin(X),X,Y) 6.24/6.63 PLUS(0(X),0(Y)) -> ISBIN(X) 6.24/6.63 PLUS(0(X),1(Y)) -> U141#(isBin(X),X,Y) 6.24/6.63 PLUS(0(X),1(Y)) -> ISBIN(X) 6.24/6.63 PLUS(plus(0(X),0(Y)),x6) -> U131#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),0(Y)),x6) -> ISBIN(X) 6.24/6.63 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(0(X),1(Y)),x6) -> U141#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),1(Y)),x6) -> ISBIN(X) 6.24/6.63 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(1(X),1(Y)),x6) -> U151#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(1(X),1(Y)),x6) -> ISBIN(X) 6.24/6.63 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(z,X),x6) -> U121#(isBin(X),X) 6.24/6.63 PLUS(plus(z,X),x6) -> ISBIN(X) 6.24/6.63 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.63 PLUS(1(X),1(Y)) -> U151#(isBin(X),X,Y) 6.24/6.63 PLUS(1(X),1(Y)) -> ISBIN(X) 6.24/6.63 PLUS(z,X) -> U121#(isBin(X),X) 6.24/6.63 PLUS(z,X) -> ISBIN(X) 6.24/6.63 PROD(union(A,B)) -> U171#(isBag(A),A,B) 6.24/6.63 PROD(union(A,B)) -> ISBAG(A) 6.24/6.63 PROD(singl(X)) -> U161#(isBin(X),X) 6.24/6.63 PROD(singl(X)) -> ISBIN(X) 6.24/6.63 SUM(union(A,B)) -> U191#(isBag(A),A,B) 6.24/6.63 SUM(union(A,B)) -> ISBAG(A) 6.24/6.63 SUM(empty) -> 0#(z) 6.24/6.63 SUM(singl(X)) -> U181#(isBin(X),X) 6.24/6.63 SUM(singl(X)) -> ISBIN(X) 6.24/6.63 UNION(union(empty,X),x6) -> UNION(X,x6) 6.24/6.63 UNION(union(X,empty),x6) -> UNION(X,x6) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 -> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.63 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.63 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.63 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.63 UNION(union(x6,x7),x8) -> UNION(x6,x7) 6.24/6.63 UNION(x6,union(x7,x8)) -> UNION(x7,x8) 6.24/6.63 ->Strongly Connected Components: 6.24/6.63 ->->Cycle: 6.24/6.63 ->->-> Pairs: 6.24/6.63 UNION(union(empty,X),x6) -> UNION(X,x6) 6.24/6.63 UNION(union(X,empty),x6) -> UNION(X,x6) 6.24/6.63 -> FAxioms: 6.24/6.63 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) -> mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) -> plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) -> union(x7,x6) 6.24/6.63 UNION(union(x6,x7),x8) -> UNION(x6,union(x7,x8)) 6.24/6.63 UNION(x6,x7) -> UNION(x7,x6) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 ->->-> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 UNION(union(x6,x7),x8) -> UNION(x6,x7) 6.24/6.63 UNION(x6,union(x7,x8)) -> UNION(x7,x8) 6.24/6.63 ->->Cycle: 6.24/6.63 ->->-> Pairs: 6.24/6.63 U21#(tt,V2) -> ISBAG(V2) 6.24/6.63 U51#(tt,V2) -> ISBIN(V2) 6.24/6.63 U61#(tt,V2) -> ISBIN(V2) 6.24/6.63 ISBAG(union(V1,V2)) -> U21#(isBag(V1),V2) 6.24/6.63 ISBAG(union(V1,V2)) -> ISBAG(V1) 6.24/6.63 ISBAG(singl(V1)) -> ISBIN(V1) 6.24/6.63 ISBIN(0(V1)) -> ISBIN(V1) 6.24/6.63 ISBIN(mult(V1,V2)) -> U51#(isBin(V1),V2) 6.24/6.63 ISBIN(mult(V1,V2)) -> ISBIN(V1) 6.24/6.63 ISBIN(plus(V1,V2)) -> U61#(isBin(V1),V2) 6.24/6.63 ISBIN(plus(V1,V2)) -> ISBIN(V1) 6.24/6.63 ISBIN(prod(V1)) -> ISBAG(V1) 6.24/6.63 ISBIN(sum(V1)) -> ISBAG(V1) 6.24/6.63 ISBIN(1(V1)) -> ISBIN(V1) 6.24/6.63 -> FAxioms: 6.24/6.63 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) -> mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) -> plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) -> union(x7,x6) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 ->->-> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 Empty 6.24/6.63 ->->Cycle: 6.24/6.63 ->->-> Pairs: 6.24/6.63 U131#(tt,X,Y) -> U132#(isBin(Y),X,Y) 6.24/6.63 U132#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 U141#(tt,X,Y) -> U142#(isBin(Y),X,Y) 6.24/6.63 U142#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 U151#(tt,X,Y) -> U152#(isBin(Y),X,Y) 6.24/6.63 U152#(tt,X,Y) -> PLUS(plus(X,Y),1(z)) 6.24/6.63 U152#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 PLUS(0(X),0(Y)) -> U131#(isBin(X),X,Y) 6.24/6.63 PLUS(0(X),1(Y)) -> U141#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),0(Y)),x6) -> U131#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(0(X),1(Y)),x6) -> U141#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(1(X),1(Y)),x6) -> U151#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.63 PLUS(1(X),1(Y)) -> U151#(isBin(X),X,Y) 6.24/6.63 -> FAxioms: 6.24/6.63 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) -> mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) -> plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) -> union(x7,x6) 6.24/6.63 PLUS(plus(x6,x7),x8) -> PLUS(x6,plus(x7,x8)) 6.24/6.63 PLUS(x6,x7) -> PLUS(x7,x6) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 ->->-> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.63 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.63 ->->Cycle: 6.24/6.63 ->->-> Pairs: 6.24/6.63 U191#(tt,A,B) -> U192#(isBag(B),A,B) 6.24/6.63 U192#(tt,A,B) -> SUM(A) 6.24/6.63 U192#(tt,A,B) -> SUM(B) 6.24/6.63 SUM(union(A,B)) -> U191#(isBag(A),A,B) 6.24/6.63 -> FAxioms: 6.24/6.63 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) -> mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) -> plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) -> union(x7,x6) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 ->->-> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 Empty 6.24/6.63 ->->Cycle: 6.24/6.63 ->->-> Pairs: 6.24/6.63 U101#(tt,X,Y) -> U102#(isBin(Y),X,Y) 6.24/6.63 U102#(tt,X,Y) -> MULT(X,Y) 6.24/6.63 U111#(tt,X,Y) -> U112#(isBin(Y),X,Y) 6.24/6.63 U112#(tt,X,Y) -> MULT(X,Y) 6.24/6.63 MULT(0(X),Y) -> U101#(isBin(X),X,Y) 6.24/6.63 MULT(mult(0(X),Y),x6) -> U101#(isBin(X),X,Y) 6.24/6.63 MULT(mult(0(X),Y),x6) -> MULT(U101(isBin(X),X,Y),x6) 6.24/6.63 MULT(mult(1(X),Y),x6) -> U111#(isBin(X),X,Y) 6.24/6.63 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.63 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.63 MULT(1(X),Y) -> U111#(isBin(X),X,Y) 6.24/6.63 -> FAxioms: 6.24/6.63 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) -> mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) -> plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) -> union(x7,x6) 6.24/6.63 MULT(mult(x6,x7),x8) -> MULT(x6,mult(x7,x8)) 6.24/6.63 MULT(x6,x7) -> MULT(x7,x6) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 ->->-> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.63 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.63 ->->Cycle: 6.24/6.63 ->->-> Pairs: 6.24/6.63 U171#(tt,A,B) -> U172#(isBag(B),A,B) 6.24/6.63 U172#(tt,A,B) -> PROD(A) 6.24/6.63 U172#(tt,A,B) -> PROD(B) 6.24/6.63 PROD(union(A,B)) -> U171#(isBag(A),A,B) 6.24/6.63 -> FAxioms: 6.24/6.63 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) -> mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) -> plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) -> union(x7,x6) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 ->->-> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 Empty 6.24/6.63 6.24/6.63 6.24/6.63 The problem is decomposed in 6 subproblems. 6.24/6.63 6.24/6.63 Problem 1.1: 6.24/6.63 6.24/6.63 Reduction Pairs Processor: 6.24/6.63 -> FAxioms: 6.24/6.63 UNION(union(x6,x7),x8) = UNION(x6,union(x7,x8)) 6.24/6.63 UNION(x6,x7) = UNION(x7,x6) 6.24/6.63 -> Pairs: 6.24/6.63 UNION(union(empty,X),x6) -> UNION(X,x6) 6.24/6.63 UNION(union(X,empty),x6) -> UNION(X,x6) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 -> Usable Equations: 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 -> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> Usable Rules: 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 UNION(union(x6,x7),x8) -> UNION(x6,x7) 6.24/6.63 UNION(x6,union(x7,x8)) -> UNION(x7,x8) 6.24/6.63 ->Interpretation type: 6.24/6.63 Linear 6.24/6.63 ->Coefficients: 6.24/6.63 Natural Numbers 6.24/6.63 ->Dimension: 6.24/6.63 1 6.24/6.63 ->Bound: 6.24/6.63 2 6.24/6.63 ->Interpretation: 6.24/6.63 6.24/6.63 [0](X) = 0 6.24/6.63 [U101](X1,X2,X3) = 0 6.24/6.63 [U102](X1,X2,X3) = 0 6.24/6.63 [U11](X) = 0 6.24/6.63 [U111](X1,X2,X3) = 0 6.24/6.63 [U112](X1,X2,X3) = 0 6.24/6.63 [U121](X1,X2) = 0 6.24/6.63 [U131](X1,X2,X3) = 0 6.24/6.63 [U132](X1,X2,X3) = 0 6.24/6.63 [U141](X1,X2,X3) = 0 6.24/6.63 [U142](X1,X2,X3) = 0 6.24/6.63 [U151](X1,X2,X3) = 0 6.24/6.63 [U152](X1,X2,X3) = 0 6.24/6.63 [U161](X1,X2) = 0 6.24/6.63 [U171](X1,X2,X3) = 0 6.24/6.63 [U172](X1,X2,X3) = 0 6.24/6.63 [U181](X1,X2) = 0 6.24/6.63 [U191](X1,X2,X3) = 0 6.24/6.63 [U192](X1,X2,X3) = 0 6.24/6.63 [U21](X1,X2) = 0 6.24/6.63 [U22](X) = 0 6.24/6.63 [U31](X) = 0 6.24/6.63 [U41](X) = 0 6.24/6.63 [U51](X1,X2) = 0 6.24/6.63 [U52](X) = 0 6.24/6.63 [U61](X1,X2) = 0 6.24/6.63 [U62](X) = 0 6.24/6.63 [U71](X) = 0 6.24/6.63 [U81](X) = 0 6.24/6.63 [U91](X) = 0 6.24/6.63 [isBag](X) = 0 6.24/6.63 [isBin](X) = 0 6.24/6.63 [mult](X1,X2) = 0 6.24/6.63 [plus](X1,X2) = 0 6.24/6.63 [prod](X) = 0 6.24/6.63 [sum](X) = 0 6.24/6.63 [union](X1,X2) = X1 + X2 6.24/6.63 [1](X) = 0 6.24/6.63 [empty] = 2 6.24/6.63 [singl](X) = 0 6.24/6.63 [tt] = 0 6.24/6.63 [z] = 0 6.24/6.63 [0#](X) = 0 6.24/6.63 [U101#](X1,X2,X3) = 0 6.24/6.63 [U102#](X1,X2,X3) = 0 6.24/6.63 [U11#](X) = 0 6.24/6.63 [U111#](X1,X2,X3) = 0 6.24/6.63 [U112#](X1,X2,X3) = 0 6.24/6.63 [U121#](X1,X2) = 0 6.24/6.63 [U131#](X1,X2,X3) = 0 6.24/6.63 [U132#](X1,X2,X3) = 0 6.24/6.63 [U141#](X1,X2,X3) = 0 6.24/6.63 [U142#](X1,X2,X3) = 0 6.24/6.63 [U151#](X1,X2,X3) = 0 6.24/6.63 [U152#](X1,X2,X3) = 0 6.24/6.63 [U161#](X1,X2) = 0 6.24/6.63 [U171#](X1,X2,X3) = 0 6.24/6.63 [U172#](X1,X2,X3) = 0 6.24/6.63 [U181#](X1,X2) = 0 6.24/6.63 [U191#](X1,X2,X3) = 0 6.24/6.63 [U192#](X1,X2,X3) = 0 6.24/6.63 [U21#](X1,X2) = 0 6.24/6.63 [U22#](X) = 0 6.24/6.63 [U31#](X) = 0 6.24/6.63 [U41#](X) = 0 6.24/6.63 [U51#](X1,X2) = 0 6.24/6.63 [U52#](X) = 0 6.24/6.63 [U61#](X1,X2) = 0 6.24/6.63 [U62#](X) = 0 6.24/6.63 [U71#](X) = 0 6.24/6.63 [U81#](X) = 0 6.24/6.63 [U91#](X) = 0 6.24/6.63 [ISBAG](X) = 0 6.24/6.63 [ISBIN](X) = 0 6.24/6.63 [MULT](X1,X2) = 0 6.24/6.63 [PLUS](X1,X2) = 0 6.24/6.63 [PROD](X) = 0 6.24/6.63 [SUM](X) = 0 6.24/6.63 [UNION](X1,X2) = 2.X1 + 2.X2 6.24/6.63 6.24/6.63 Problem 1.1: 6.24/6.63 6.24/6.63 SCC Processor: 6.24/6.63 -> FAxioms: 6.24/6.63 UNION(union(x6,x7),x8) = UNION(x6,union(x7,x8)) 6.24/6.63 UNION(x6,x7) = UNION(x7,x6) 6.24/6.63 -> Pairs: 6.24/6.63 UNION(union(X,empty),x6) -> UNION(X,x6) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 -> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 UNION(union(x6,x7),x8) -> UNION(x6,x7) 6.24/6.63 UNION(x6,union(x7,x8)) -> UNION(x7,x8) 6.24/6.63 ->Strongly Connected Components: 6.24/6.63 ->->Cycle: 6.24/6.63 ->->-> Pairs: 6.24/6.63 UNION(union(X,empty),x6) -> UNION(X,x6) 6.24/6.63 -> FAxioms: 6.24/6.63 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) -> mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) -> plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) -> union(x7,x6) 6.24/6.63 UNION(union(x6,x7),x8) -> UNION(x6,union(x7,x8)) 6.24/6.63 UNION(x6,x7) -> UNION(x7,x6) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 ->->-> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 UNION(union(x6,x7),x8) -> UNION(x6,x7) 6.24/6.63 UNION(x6,union(x7,x8)) -> UNION(x7,x8) 6.24/6.63 6.24/6.63 Problem 1.1: 6.24/6.63 6.24/6.63 Reduction Pairs Processor: 6.24/6.63 -> FAxioms: 6.24/6.63 UNION(union(x6,x7),x8) = UNION(x6,union(x7,x8)) 6.24/6.63 UNION(x6,x7) = UNION(x7,x6) 6.24/6.63 -> Pairs: 6.24/6.63 UNION(union(X,empty),x6) -> UNION(X,x6) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 -> Usable Equations: 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 -> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> Usable Rules: 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 UNION(union(x6,x7),x8) -> UNION(x6,x7) 6.24/6.63 UNION(x6,union(x7,x8)) -> UNION(x7,x8) 6.24/6.63 ->Interpretation type: 6.24/6.63 Linear 6.24/6.63 ->Coefficients: 6.24/6.63 Natural Numbers 6.24/6.63 ->Dimension: 6.24/6.63 1 6.24/6.63 ->Bound: 6.24/6.63 2 6.24/6.63 ->Interpretation: 6.24/6.63 6.24/6.63 [0](X) = 0 6.24/6.63 [U101](X1,X2,X3) = 0 6.24/6.63 [U102](X1,X2,X3) = 0 6.24/6.63 [U11](X) = 0 6.24/6.63 [U111](X1,X2,X3) = 0 6.24/6.63 [U112](X1,X2,X3) = 0 6.24/6.63 [U121](X1,X2) = 0 6.24/6.63 [U131](X1,X2,X3) = 0 6.24/6.63 [U132](X1,X2,X3) = 0 6.24/6.63 [U141](X1,X2,X3) = 0 6.24/6.63 [U142](X1,X2,X3) = 0 6.24/6.63 [U151](X1,X2,X3) = 0 6.24/6.63 [U152](X1,X2,X3) = 0 6.24/6.63 [U161](X1,X2) = 0 6.24/6.63 [U171](X1,X2,X3) = 0 6.24/6.63 [U172](X1,X2,X3) = 0 6.24/6.63 [U181](X1,X2) = 0 6.24/6.63 [U191](X1,X2,X3) = 0 6.24/6.63 [U192](X1,X2,X3) = 0 6.24/6.63 [U21](X1,X2) = 0 6.24/6.63 [U22](X) = 0 6.24/6.63 [U31](X) = 0 6.24/6.63 [U41](X) = 0 6.24/6.63 [U51](X1,X2) = 0 6.24/6.63 [U52](X) = 0 6.24/6.63 [U61](X1,X2) = 0 6.24/6.63 [U62](X) = 0 6.24/6.63 [U71](X) = 0 6.24/6.63 [U81](X) = 0 6.24/6.63 [U91](X) = 0 6.24/6.63 [isBag](X) = 0 6.24/6.63 [isBin](X) = 0 6.24/6.63 [mult](X1,X2) = 0 6.24/6.63 [plus](X1,X2) = 0 6.24/6.63 [prod](X) = 0 6.24/6.63 [sum](X) = 0 6.24/6.63 [union](X1,X2) = X1 + X2 + 2 6.24/6.63 [1](X) = 0 6.24/6.63 [empty] = 2 6.24/6.63 [singl](X) = 0 6.24/6.63 [tt] = 0 6.24/6.63 [z] = 0 6.24/6.63 [0#](X) = 0 6.24/6.63 [U101#](X1,X2,X3) = 0 6.24/6.63 [U102#](X1,X2,X3) = 0 6.24/6.63 [U11#](X) = 0 6.24/6.63 [U111#](X1,X2,X3) = 0 6.24/6.63 [U112#](X1,X2,X3) = 0 6.24/6.63 [U121#](X1,X2) = 0 6.24/6.63 [U131#](X1,X2,X3) = 0 6.24/6.63 [U132#](X1,X2,X3) = 0 6.24/6.63 [U141#](X1,X2,X3) = 0 6.24/6.63 [U142#](X1,X2,X3) = 0 6.24/6.63 [U151#](X1,X2,X3) = 0 6.24/6.63 [U152#](X1,X2,X3) = 0 6.24/6.63 [U161#](X1,X2) = 0 6.24/6.63 [U171#](X1,X2,X3) = 0 6.24/6.63 [U172#](X1,X2,X3) = 0 6.24/6.63 [U181#](X1,X2) = 0 6.24/6.63 [U191#](X1,X2,X3) = 0 6.24/6.63 [U192#](X1,X2,X3) = 0 6.24/6.63 [U21#](X1,X2) = 0 6.24/6.63 [U22#](X) = 0 6.24/6.63 [U31#](X) = 0 6.24/6.63 [U41#](X) = 0 6.24/6.63 [U51#](X1,X2) = 0 6.24/6.63 [U52#](X) = 0 6.24/6.63 [U61#](X1,X2) = 0 6.24/6.63 [U62#](X) = 0 6.24/6.63 [U71#](X) = 0 6.24/6.63 [U81#](X) = 0 6.24/6.63 [U91#](X) = 0 6.24/6.63 [ISBAG](X) = 0 6.24/6.63 [ISBIN](X) = 0 6.24/6.63 [MULT](X1,X2) = 0 6.24/6.63 [PLUS](X1,X2) = 0 6.24/6.63 [PROD](X) = 0 6.24/6.63 [SUM](X) = 0 6.24/6.63 [UNION](X1,X2) = 2.X1 + 2.X2 6.24/6.63 6.24/6.63 Problem 1.1: 6.24/6.63 6.24/6.63 SCC Processor: 6.24/6.63 -> FAxioms: 6.24/6.63 UNION(union(x6,x7),x8) = UNION(x6,union(x7,x8)) 6.24/6.63 UNION(x6,x7) = UNION(x7,x6) 6.24/6.63 -> Pairs: 6.24/6.63 Empty 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 -> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 UNION(union(x6,x7),x8) -> UNION(x6,x7) 6.24/6.63 UNION(x6,union(x7,x8)) -> UNION(x7,x8) 6.24/6.63 ->Strongly Connected Components: 6.24/6.63 There is no strongly connected component 6.24/6.63 6.24/6.63 The problem is finite. 6.24/6.63 6.24/6.63 Problem 1.2: 6.24/6.63 6.24/6.63 Subterm Processor: 6.24/6.63 -> FAxioms: 6.24/6.63 Empty 6.24/6.63 -> Pairs: 6.24/6.63 U21#(tt,V2) -> ISBAG(V2) 6.24/6.63 U51#(tt,V2) -> ISBIN(V2) 6.24/6.63 U61#(tt,V2) -> ISBIN(V2) 6.24/6.63 ISBAG(union(V1,V2)) -> U21#(isBag(V1),V2) 6.24/6.63 ISBAG(union(V1,V2)) -> ISBAG(V1) 6.24/6.63 ISBAG(singl(V1)) -> ISBIN(V1) 6.24/6.63 ISBIN(0(V1)) -> ISBIN(V1) 6.24/6.63 ISBIN(mult(V1,V2)) -> U51#(isBin(V1),V2) 6.24/6.63 ISBIN(mult(V1,V2)) -> ISBIN(V1) 6.24/6.63 ISBIN(plus(V1,V2)) -> U61#(isBin(V1),V2) 6.24/6.63 ISBIN(plus(V1,V2)) -> ISBIN(V1) 6.24/6.63 ISBIN(prod(V1)) -> ISBAG(V1) 6.24/6.63 ISBIN(sum(V1)) -> ISBAG(V1) 6.24/6.63 ISBIN(1(V1)) -> ISBIN(V1) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 -> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 Empty 6.24/6.63 ->Projection: 6.24/6.63 pi(U21#) = [2] 6.24/6.63 pi(U51#) = [2] 6.24/6.63 pi(U61#) = [2] 6.24/6.63 pi(ISBAG) = [1] 6.24/6.63 pi(ISBIN) = [1] 6.24/6.63 6.24/6.63 Problem 1.2: 6.24/6.63 6.24/6.63 SCC Processor: 6.24/6.63 -> FAxioms: 6.24/6.63 Empty 6.24/6.63 -> Pairs: 6.24/6.63 U21#(tt,V2) -> ISBAG(V2) 6.24/6.63 U51#(tt,V2) -> ISBIN(V2) 6.24/6.63 U61#(tt,V2) -> ISBIN(V2) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 -> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> SRules: 6.24/6.63 Empty 6.24/6.63 ->Strongly Connected Components: 6.24/6.63 There is no strongly connected component 6.24/6.63 6.24/6.63 The problem is finite. 6.24/6.63 6.24/6.63 Problem 1.3: 6.24/6.63 6.24/6.63 Reduction Pairs Processor: 6.24/6.63 -> FAxioms: 6.24/6.63 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.63 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.63 -> Pairs: 6.24/6.63 U131#(tt,X,Y) -> U132#(isBin(Y),X,Y) 6.24/6.63 U132#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 U141#(tt,X,Y) -> U142#(isBin(Y),X,Y) 6.24/6.63 U142#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 U151#(tt,X,Y) -> U152#(isBin(Y),X,Y) 6.24/6.63 U152#(tt,X,Y) -> PLUS(plus(X,Y),1(z)) 6.24/6.63 U152#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 PLUS(0(X),0(Y)) -> U131#(isBin(X),X,Y) 6.24/6.63 PLUS(0(X),1(Y)) -> U141#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),0(Y)),x6) -> U131#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(0(X),1(Y)),x6) -> U141#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(1(X),1(Y)),x6) -> U151#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.63 PLUS(1(X),1(Y)) -> U151#(isBin(X),X,Y) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 -> Usable Equations: 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 -> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.63 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.63 sum(empty) -> 0(z) 6.24/6.63 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.63 union(empty,X) -> X 6.24/6.63 union(X,empty) -> X 6.24/6.63 -> Usable Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U11(tt) -> tt 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 -> SRules: 6.24/6.63 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.63 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.63 ->Interpretation type: 6.24/6.63 Linear 6.24/6.63 ->Coefficients: 6.24/6.63 Natural Numbers 6.24/6.63 ->Dimension: 6.24/6.63 1 6.24/6.63 ->Bound: 6.24/6.63 2 6.24/6.63 ->Interpretation: 6.24/6.63 6.24/6.63 [0](X) = X + 2 6.24/6.63 [U101](X1,X2,X3) = 0 6.24/6.63 [U102](X1,X2,X3) = 0 6.24/6.63 [U11](X) = 2.X + 1 6.24/6.63 [U111](X1,X2,X3) = 0 6.24/6.63 [U112](X1,X2,X3) = 0 6.24/6.63 [U121](X1,X2) = X2 6.24/6.63 [U131](X1,X2,X3) = X1 + X2 + X3 + 2 6.24/6.63 [U132](X1,X2,X3) = 2.X1 + X2 + X3 6.24/6.63 [U141](X1,X2,X3) = 2.X1 + X2 + X3 6.24/6.63 [U142](X1,X2,X3) = 2.X1 + X2 + X3 6.24/6.63 [U151](X1,X2,X3) = 2.X1 + X2 + X3 6.24/6.63 [U152](X1,X2,X3) = 2.X1 + X2 + X3 6.24/6.63 [U161](X1,X2) = 0 6.24/6.63 [U171](X1,X2,X3) = 0 6.24/6.63 [U172](X1,X2,X3) = 0 6.24/6.63 [U181](X1,X2) = 0 6.24/6.63 [U191](X1,X2,X3) = 0 6.24/6.63 [U192](X1,X2,X3) = 0 6.24/6.63 [U21](X1,X2) = 2.X1 + X2 + 2 6.24/6.63 [U22](X) = 2 6.24/6.63 [U31](X) = X 6.24/6.63 [U41](X) = X 6.24/6.63 [U51](X1,X2) = X1 6.24/6.63 [U52](X) = 2 6.24/6.63 [U61](X1,X2) = 2 6.24/6.63 [U62](X) = 2 6.24/6.63 [U71](X) = 2 6.24/6.63 [U81](X) = 2 6.24/6.63 [U91](X) = 0 6.24/6.63 [isBag](X) = 2.X + 2 6.24/6.63 [isBin](X) = 2 6.24/6.63 [mult](X1,X2) = 2.X1 + 2.X2 6.24/6.63 [plus](X1,X2) = X1 + X2 6.24/6.63 [prod](X) = 1 6.24/6.63 [sum](X) = 0 6.24/6.63 [union](X1,X2) = 2.X1 + X2 + 2 6.24/6.63 [1](X) = X + 2 6.24/6.63 [empty] = 1 6.24/6.63 [singl](X) = 2.X + 2 6.24/6.63 [tt] = 2 6.24/6.63 [z] = 0 6.24/6.63 [0#](X) = 0 6.24/6.63 [U101#](X1,X2,X3) = 0 6.24/6.63 [U102#](X1,X2,X3) = 0 6.24/6.63 [U11#](X) = 0 6.24/6.63 [U111#](X1,X2,X3) = 0 6.24/6.63 [U112#](X1,X2,X3) = 0 6.24/6.63 [U121#](X1,X2) = 0 6.24/6.63 [U131#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 6.24/6.63 [U132#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 1 6.24/6.63 [U141#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 6.24/6.63 [U142#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 1 6.24/6.63 [U151#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 6.24/6.63 [U152#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 6.24/6.63 [U161#](X1,X2) = 0 6.24/6.63 [U171#](X1,X2,X3) = 0 6.24/6.63 [U172#](X1,X2,X3) = 0 6.24/6.63 [U181#](X1,X2) = 0 6.24/6.63 [U191#](X1,X2,X3) = 0 6.24/6.63 [U192#](X1,X2,X3) = 0 6.24/6.63 [U21#](X1,X2) = 0 6.24/6.63 [U22#](X) = 0 6.24/6.63 [U31#](X) = 0 6.24/6.63 [U41#](X) = 0 6.24/6.63 [U51#](X1,X2) = 0 6.24/6.63 [U52#](X) = 0 6.24/6.63 [U61#](X1,X2) = 0 6.24/6.63 [U62#](X) = 0 6.24/6.63 [U71#](X) = 0 6.24/6.63 [U81#](X) = 0 6.24/6.63 [U91#](X) = 0 6.24/6.63 [ISBAG](X) = 0 6.24/6.63 [ISBIN](X) = 0 6.24/6.63 [MULT](X1,X2) = 0 6.24/6.63 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.63 [PROD](X) = 0 6.24/6.63 [SUM](X) = 0 6.24/6.63 [UNION](X1,X2) = 0 6.24/6.63 6.24/6.63 Problem 1.3: 6.24/6.63 6.24/6.63 SCC Processor: 6.24/6.63 -> FAxioms: 6.24/6.63 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.63 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.63 -> Pairs: 6.24/6.63 U132#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 U141#(tt,X,Y) -> U142#(isBin(Y),X,Y) 6.24/6.63 U142#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 U151#(tt,X,Y) -> U152#(isBin(Y),X,Y) 6.24/6.63 U152#(tt,X,Y) -> PLUS(plus(X,Y),1(z)) 6.24/6.63 U152#(tt,X,Y) -> PLUS(X,Y) 6.24/6.63 PLUS(0(X),0(Y)) -> U131#(isBin(X),X,Y) 6.24/6.63 PLUS(0(X),1(Y)) -> U141#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),0(Y)),x6) -> U131#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(0(X),1(Y)),x6) -> U141#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(1(X),1(Y)),x6) -> U151#(isBin(X),X,Y) 6.24/6.63 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.63 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.63 PLUS(1(X),1(Y)) -> U151#(isBin(X),X,Y) 6.24/6.63 -> EAxioms: 6.24/6.63 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.63 mult(x6,x7) = mult(x7,x6) 6.24/6.63 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.63 plus(x6,x7) = plus(x7,x6) 6.24/6.63 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.63 union(x6,x7) = union(x7,x6) 6.24/6.63 -> Rules: 6.24/6.63 0(z) -> z 6.24/6.63 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.63 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.63 U11(tt) -> tt 6.24/6.63 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.63 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.63 U121(tt,X) -> X 6.24/6.63 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.63 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.63 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.63 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.63 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.63 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.63 U161(tt,X) -> X 6.24/6.63 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.63 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.63 U181(tt,X) -> X 6.24/6.63 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.63 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.63 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.63 U22(tt) -> tt 6.24/6.63 U31(tt) -> tt 6.24/6.63 U41(tt) -> tt 6.24/6.63 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.63 U52(tt) -> tt 6.24/6.63 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.63 U62(tt) -> tt 6.24/6.63 U71(tt) -> tt 6.24/6.63 U81(tt) -> tt 6.24/6.63 U91(tt) -> z 6.24/6.63 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.63 isBag(empty) -> tt 6.24/6.63 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.63 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.63 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.63 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.63 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.63 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.63 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.63 isBin(z) -> tt 6.24/6.63 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.63 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.63 mult(z,X) -> U91(isBin(X)) 6.24/6.63 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.63 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.63 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.63 plus(z,X) -> U121(isBin(X),X) 6.24/6.63 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.63 prod(empty) -> 1(z) 6.24/6.63 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 ->Strongly Connected Components: 6.24/6.64 ->->Cycle: 6.24/6.64 ->->-> Pairs: 6.24/6.64 U141#(tt,X,Y) -> U142#(isBin(Y),X,Y) 6.24/6.64 U142#(tt,X,Y) -> PLUS(X,Y) 6.24/6.64 U151#(tt,X,Y) -> U152#(isBin(Y),X,Y) 6.24/6.64 U152#(tt,X,Y) -> PLUS(plus(X,Y),1(z)) 6.24/6.64 U152#(tt,X,Y) -> PLUS(X,Y) 6.24/6.64 PLUS(0(X),1(Y)) -> U141#(isBin(X),X,Y) 6.24/6.64 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> U141#(isBin(X),X,Y) 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> U151#(isBin(X),X,Y) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 PLUS(1(X),1(Y)) -> U151#(isBin(X),X,Y) 6.24/6.64 -> FAxioms: 6.24/6.64 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) -> mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) -> plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) -> union(x7,x6) 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) -> PLUS(x7,x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 ->->-> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 6.24/6.64 Problem 1.3: 6.24/6.64 6.24/6.64 Reduction Pairs Processor: 6.24/6.64 -> FAxioms: 6.24/6.64 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.64 -> Pairs: 6.24/6.64 U141#(tt,X,Y) -> U142#(isBin(Y),X,Y) 6.24/6.64 U142#(tt,X,Y) -> PLUS(X,Y) 6.24/6.64 U151#(tt,X,Y) -> U152#(isBin(Y),X,Y) 6.24/6.64 U152#(tt,X,Y) -> PLUS(plus(X,Y),1(z)) 6.24/6.64 U152#(tt,X,Y) -> PLUS(X,Y) 6.24/6.64 PLUS(0(X),1(Y)) -> U141#(isBin(X),X,Y) 6.24/6.64 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> U141#(isBin(X),X,Y) 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> U151#(isBin(X),X,Y) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 PLUS(1(X),1(Y)) -> U151#(isBin(X),X,Y) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 -> Usable Equations: 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 -> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> Usable Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U11(tt) -> tt 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 ->Interpretation type: 6.24/6.64 Linear 6.24/6.64 ->Coefficients: 6.24/6.64 Natural Numbers 6.24/6.64 ->Dimension: 6.24/6.64 1 6.24/6.64 ->Bound: 6.24/6.64 2 6.24/6.64 ->Interpretation: 6.24/6.64 6.24/6.64 [0](X) = 2.X 6.24/6.64 [U101](X1,X2,X3) = 0 6.24/6.64 [U102](X1,X2,X3) = 0 6.24/6.64 [U11](X) = 2.X + 1 6.24/6.64 [U111](X1,X2,X3) = 0 6.24/6.64 [U112](X1,X2,X3) = 0 6.24/6.64 [U121](X1,X2) = X2 6.24/6.64 [U131](X1,X2,X3) = 2.X2 + 2.X3 6.24/6.64 [U132](X1,X2,X3) = 2.X2 + 2.X3 6.24/6.64 [U141](X1,X2,X3) = 2.X2 + 2.X3 + 2 6.24/6.64 [U142](X1,X2,X3) = 2.X2 + 2.X3 + 2 6.24/6.64 [U151](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 6.24/6.64 [U152](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 6.24/6.64 [U161](X1,X2) = 0 6.24/6.64 [U171](X1,X2,X3) = 0 6.24/6.64 [U172](X1,X2,X3) = 0 6.24/6.64 [U181](X1,X2) = 0 6.24/6.64 [U191](X1,X2,X3) = 0 6.24/6.64 [U192](X1,X2,X3) = 0 6.24/6.64 [U21](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.64 [U22](X) = X + 1 6.24/6.64 [U31](X) = X 6.24/6.64 [U41](X) = X 6.24/6.64 [U51](X1,X2) = 2 6.24/6.64 [U52](X) = 2 6.24/6.64 [U61](X1,X2) = X1 6.24/6.64 [U62](X) = X 6.24/6.64 [U71](X) = 2 6.24/6.64 [U81](X) = 2 6.24/6.64 [U91](X) = 0 6.24/6.64 [isBag](X) = 2.X + 1 6.24/6.64 [isBin](X) = 2 6.24/6.64 [mult](X1,X2) = 2.X1 6.24/6.64 [plus](X1,X2) = X1 + X2 6.24/6.64 [prod](X) = X 6.24/6.64 [sum](X) = 2.X + 2 6.24/6.64 [union](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.64 [1](X) = 2.X + 2 6.24/6.64 [empty] = 1 6.24/6.64 [singl](X) = X + 2 6.24/6.64 [tt] = 2 6.24/6.64 [z] = 0 6.24/6.64 [0#](X) = 0 6.24/6.64 [U101#](X1,X2,X3) = 0 6.24/6.64 [U102#](X1,X2,X3) = 0 6.24/6.64 [U11#](X) = 0 6.24/6.64 [U111#](X1,X2,X3) = 0 6.24/6.64 [U112#](X1,X2,X3) = 0 6.24/6.64 [U121#](X1,X2) = 0 6.24/6.64 [U131#](X1,X2,X3) = 0 6.24/6.64 [U132#](X1,X2,X3) = 0 6.24/6.64 [U141#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 6.24/6.64 [U142#](X1,X2,X3) = 2.X2 + 2.X3 + 2 6.24/6.64 [U151#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 6.24/6.64 [U152#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 6.24/6.64 [U161#](X1,X2) = 0 6.24/6.64 [U171#](X1,X2,X3) = 0 6.24/6.64 [U172#](X1,X2,X3) = 0 6.24/6.64 [U181#](X1,X2) = 0 6.24/6.64 [U191#](X1,X2,X3) = 0 6.24/6.64 [U192#](X1,X2,X3) = 0 6.24/6.64 [U21#](X1,X2) = 0 6.24/6.64 [U22#](X) = 0 6.24/6.64 [U31#](X) = 0 6.24/6.64 [U41#](X) = 0 6.24/6.64 [U51#](X1,X2) = 0 6.24/6.64 [U52#](X) = 0 6.24/6.64 [U61#](X1,X2) = 0 6.24/6.64 [U62#](X) = 0 6.24/6.64 [U71#](X) = 0 6.24/6.64 [U81#](X) = 0 6.24/6.64 [U91#](X) = 0 6.24/6.64 [ISBAG](X) = 0 6.24/6.64 [ISBIN](X) = 0 6.24/6.64 [MULT](X1,X2) = 0 6.24/6.64 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.64 [PROD](X) = 0 6.24/6.64 [SUM](X) = 0 6.24/6.64 [UNION](X1,X2) = 0 6.24/6.64 6.24/6.64 Problem 1.3: 6.24/6.64 6.24/6.64 SCC Processor: 6.24/6.64 -> FAxioms: 6.24/6.64 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.64 -> Pairs: 6.24/6.64 U142#(tt,X,Y) -> PLUS(X,Y) 6.24/6.64 U151#(tt,X,Y) -> U152#(isBin(Y),X,Y) 6.24/6.64 U152#(tt,X,Y) -> PLUS(plus(X,Y),1(z)) 6.24/6.64 U152#(tt,X,Y) -> PLUS(X,Y) 6.24/6.64 PLUS(0(X),1(Y)) -> U141#(isBin(X),X,Y) 6.24/6.64 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> U141#(isBin(X),X,Y) 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> U151#(isBin(X),X,Y) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 PLUS(1(X),1(Y)) -> U151#(isBin(X),X,Y) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 -> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 ->Strongly Connected Components: 6.24/6.64 ->->Cycle: 6.24/6.64 ->->-> Pairs: 6.24/6.64 U151#(tt,X,Y) -> U152#(isBin(Y),X,Y) 6.24/6.64 U152#(tt,X,Y) -> PLUS(plus(X,Y),1(z)) 6.24/6.64 U152#(tt,X,Y) -> PLUS(X,Y) 6.24/6.64 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> U151#(isBin(X),X,Y) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 PLUS(1(X),1(Y)) -> U151#(isBin(X),X,Y) 6.24/6.64 -> FAxioms: 6.24/6.64 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) -> mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) -> plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) -> union(x7,x6) 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) -> PLUS(x7,x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 ->->-> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 6.24/6.64 Problem 1.3: 6.24/6.64 6.24/6.64 Reduction Pairs Processor: 6.24/6.64 -> FAxioms: 6.24/6.64 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.64 -> Pairs: 6.24/6.64 U151#(tt,X,Y) -> U152#(isBin(Y),X,Y) 6.24/6.64 U152#(tt,X,Y) -> PLUS(plus(X,Y),1(z)) 6.24/6.64 U152#(tt,X,Y) -> PLUS(X,Y) 6.24/6.64 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> U151#(isBin(X),X,Y) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 PLUS(1(X),1(Y)) -> U151#(isBin(X),X,Y) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 -> Usable Equations: 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 -> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> Usable Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U11(tt) -> tt 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 ->Interpretation type: 6.24/6.64 Linear 6.24/6.64 ->Coefficients: 6.24/6.64 Natural Numbers 6.24/6.64 ->Dimension: 6.24/6.64 1 6.24/6.64 ->Bound: 6.24/6.64 2 6.24/6.64 ->Interpretation: 6.24/6.64 6.24/6.64 [0](X) = 2.X 6.24/6.64 [U101](X1,X2,X3) = 0 6.24/6.64 [U102](X1,X2,X3) = 0 6.24/6.64 [U11](X) = 2 6.24/6.64 [U111](X1,X2,X3) = 0 6.24/6.64 [U112](X1,X2,X3) = 0 6.24/6.64 [U121](X1,X2) = X2 6.24/6.64 [U131](X1,X2,X3) = 2.X2 + 2.X3 6.24/6.64 [U132](X1,X2,X3) = 2.X2 + 2.X3 6.24/6.64 [U141](X1,X2,X3) = 2.X2 + 2.X3 + 2 6.24/6.64 [U142](X1,X2,X3) = 2.X2 + 2.X3 + 2 6.24/6.64 [U151](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 6.24/6.64 [U152](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 6.24/6.64 [U161](X1,X2) = 0 6.24/6.64 [U171](X1,X2,X3) = 0 6.24/6.64 [U172](X1,X2,X3) = 0 6.24/6.64 [U181](X1,X2) = 0 6.24/6.64 [U191](X1,X2,X3) = 0 6.24/6.64 [U192](X1,X2,X3) = 0 6.24/6.64 [U21](X1,X2) = 2.X2 + 2 6.24/6.64 [U22](X) = 2 6.24/6.64 [U31](X) = 2 6.24/6.64 [U41](X) = X 6.24/6.64 [U51](X1,X2) = 2 6.24/6.64 [U52](X) = 2 6.24/6.64 [U61](X1,X2) = 2 6.24/6.64 [U62](X) = 2 6.24/6.64 [U71](X) = 2 6.24/6.64 [U81](X) = 2 6.24/6.64 [U91](X) = 0 6.24/6.64 [isBag](X) = 2.X + 2 6.24/6.64 [isBin](X) = 2 6.24/6.64 [mult](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.64 [plus](X1,X2) = X1 + X2 6.24/6.64 [prod](X) = X 6.24/6.64 [sum](X) = 2.X + 2 6.24/6.64 [union](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.64 [1](X) = 2.X + 2 6.24/6.64 [empty] = 0 6.24/6.64 [singl](X) = 2.X + 1 6.24/6.64 [tt] = 2 6.24/6.64 [z] = 0 6.24/6.64 [0#](X) = 0 6.24/6.64 [U101#](X1,X2,X3) = 0 6.24/6.64 [U102#](X1,X2,X3) = 0 6.24/6.64 [U11#](X) = 0 6.24/6.64 [U111#](X1,X2,X3) = 0 6.24/6.64 [U112#](X1,X2,X3) = 0 6.24/6.64 [U121#](X1,X2) = 0 6.24/6.64 [U131#](X1,X2,X3) = 0 6.24/6.64 [U132#](X1,X2,X3) = 0 6.24/6.64 [U141#](X1,X2,X3) = 0 6.24/6.64 [U142#](X1,X2,X3) = 0 6.24/6.64 [U151#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 6.24/6.64 [U152#](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 6.24/6.64 [U161#](X1,X2) = 0 6.24/6.64 [U171#](X1,X2,X3) = 0 6.24/6.64 [U172#](X1,X2,X3) = 0 6.24/6.64 [U181#](X1,X2) = 0 6.24/6.64 [U191#](X1,X2,X3) = 0 6.24/6.64 [U192#](X1,X2,X3) = 0 6.24/6.64 [U21#](X1,X2) = 0 6.24/6.64 [U22#](X) = 0 6.24/6.64 [U31#](X) = 0 6.24/6.64 [U41#](X) = 0 6.24/6.64 [U51#](X1,X2) = 0 6.24/6.64 [U52#](X) = 0 6.24/6.64 [U61#](X1,X2) = 0 6.24/6.64 [U62#](X) = 0 6.24/6.64 [U71#](X) = 0 6.24/6.64 [U81#](X) = 0 6.24/6.64 [U91#](X) = 0 6.24/6.64 [ISBAG](X) = 0 6.24/6.64 [ISBIN](X) = 0 6.24/6.64 [MULT](X1,X2) = 0 6.24/6.64 [PLUS](X1,X2) = 2.X1 + 2.X2 6.24/6.64 [PROD](X) = 0 6.24/6.64 [SUM](X) = 0 6.24/6.64 [UNION](X1,X2) = 0 6.24/6.64 6.24/6.64 Problem 1.3: 6.24/6.64 6.24/6.64 SCC Processor: 6.24/6.64 -> FAxioms: 6.24/6.64 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.64 -> Pairs: 6.24/6.64 U152#(tt,X,Y) -> PLUS(plus(X,Y),1(z)) 6.24/6.64 U152#(tt,X,Y) -> PLUS(X,Y) 6.24/6.64 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> U151#(isBin(X),X,Y) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 PLUS(1(X),1(Y)) -> U151#(isBin(X),X,Y) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 -> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 ->Strongly Connected Components: 6.24/6.64 ->->Cycle: 6.24/6.64 ->->-> Pairs: 6.24/6.64 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 -> FAxioms: 6.24/6.64 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) -> mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) -> plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) -> union(x7,x6) 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) -> PLUS(x7,x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 ->->-> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 6.24/6.64 Problem 1.3: 6.24/6.64 6.24/6.64 Reduction Pairs Processor: 6.24/6.64 -> FAxioms: 6.24/6.64 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.64 -> Pairs: 6.24/6.64 PLUS(plus(0(X),0(Y)),x6) -> PLUS(U131(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 -> Usable Equations: 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 -> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> Usable Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U11(tt) -> tt 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 ->Interpretation type: 6.24/6.64 Linear 6.24/6.64 ->Coefficients: 6.24/6.64 Natural Numbers 6.24/6.64 ->Dimension: 6.24/6.64 1 6.24/6.64 ->Bound: 6.24/6.64 2 6.24/6.64 ->Interpretation: 6.24/6.64 6.24/6.64 [0](X) = 2 6.24/6.64 [U101](X1,X2,X3) = 0 6.24/6.64 [U102](X1,X2,X3) = 0 6.24/6.64 [U11](X) = 2.X + 1 6.24/6.64 [U111](X1,X2,X3) = 0 6.24/6.64 [U112](X1,X2,X3) = 0 6.24/6.64 [U121](X1,X2) = X2 + 2 6.24/6.64 [U131](X1,X2,X3) = 2 6.24/6.64 [U132](X1,X2,X3) = 2 6.24/6.64 [U141](X1,X2,X3) = 2 6.24/6.64 [U142](X1,X2,X3) = 2 6.24/6.64 [U151](X1,X2,X3) = 2 6.24/6.64 [U152](X1,X2,X3) = 2 6.24/6.64 [U161](X1,X2) = 0 6.24/6.64 [U171](X1,X2,X3) = 0 6.24/6.64 [U172](X1,X2,X3) = 0 6.24/6.64 [U181](X1,X2) = 0 6.24/6.64 [U191](X1,X2,X3) = 0 6.24/6.64 [U192](X1,X2,X3) = 0 6.24/6.64 [U21](X1,X2) = 2.X1 + 2 6.24/6.64 [U22](X) = 2 6.24/6.64 [U31](X) = 2 6.24/6.64 [U41](X) = 2 6.24/6.64 [U51](X1,X2) = 2.X1 + 2.X2 6.24/6.64 [U52](X) = X + 1 6.24/6.64 [U61](X1,X2) = X1 + 2.X2 + 2 6.24/6.64 [U62](X) = X + 2 6.24/6.64 [U71](X) = 2.X + 1 6.24/6.64 [U81](X) = 2.X + 1 6.24/6.64 [U91](X) = 0 6.24/6.64 [isBag](X) = 2.X 6.24/6.64 [isBin](X) = 2.X 6.24/6.64 [mult](X1,X2) = 2.X1 + 2.X2 6.24/6.64 [plus](X1,X2) = X1 + X2 + 2 6.24/6.64 [prod](X) = 2.X + 2 6.24/6.64 [sum](X) = 2.X + 2 6.24/6.64 [union](X1,X2) = 2.X1 + 2 6.24/6.64 [1](X) = 2 6.24/6.64 [empty] = 2 6.24/6.64 [singl](X) = 2.X + 2 6.24/6.64 [tt] = 2 6.24/6.64 [z] = 2 6.24/6.64 [0#](X) = 0 6.24/6.64 [U101#](X1,X2,X3) = 0 6.24/6.64 [U102#](X1,X2,X3) = 0 6.24/6.64 [U11#](X) = 0 6.24/6.64 [U111#](X1,X2,X3) = 0 6.24/6.64 [U112#](X1,X2,X3) = 0 6.24/6.64 [U121#](X1,X2) = 0 6.24/6.64 [U131#](X1,X2,X3) = 0 6.24/6.64 [U132#](X1,X2,X3) = 0 6.24/6.64 [U141#](X1,X2,X3) = 0 6.24/6.64 [U142#](X1,X2,X3) = 0 6.24/6.64 [U151#](X1,X2,X3) = 0 6.24/6.64 [U152#](X1,X2,X3) = 0 6.24/6.64 [U161#](X1,X2) = 0 6.24/6.64 [U171#](X1,X2,X3) = 0 6.24/6.64 [U172#](X1,X2,X3) = 0 6.24/6.64 [U181#](X1,X2) = 0 6.24/6.64 [U191#](X1,X2,X3) = 0 6.24/6.64 [U192#](X1,X2,X3) = 0 6.24/6.64 [U21#](X1,X2) = 0 6.24/6.64 [U22#](X) = 0 6.24/6.64 [U31#](X) = 0 6.24/6.64 [U41#](X) = 0 6.24/6.64 [U51#](X1,X2) = 0 6.24/6.64 [U52#](X) = 0 6.24/6.64 [U61#](X1,X2) = 0 6.24/6.64 [U62#](X) = 0 6.24/6.64 [U71#](X) = 0 6.24/6.64 [U81#](X) = 0 6.24/6.64 [U91#](X) = 0 6.24/6.64 [ISBAG](X) = 0 6.24/6.64 [ISBIN](X) = 0 6.24/6.64 [MULT](X1,X2) = 0 6.24/6.64 [PLUS](X1,X2) = 2.X1 + 2.X2 6.24/6.64 [PROD](X) = 0 6.24/6.64 [SUM](X) = 0 6.24/6.64 [UNION](X1,X2) = 0 6.24/6.64 6.24/6.64 Problem 1.3: 6.24/6.64 6.24/6.64 SCC Processor: 6.24/6.64 -> FAxioms: 6.24/6.64 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.64 -> Pairs: 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 -> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 ->Strongly Connected Components: 6.24/6.64 ->->Cycle: 6.24/6.64 ->->-> Pairs: 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 -> FAxioms: 6.24/6.64 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) -> mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) -> plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) -> union(x7,x6) 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) -> PLUS(x7,x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 ->->-> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 6.24/6.64 Problem 1.3: 6.24/6.64 6.24/6.64 Reduction Pairs Processor: 6.24/6.64 -> FAxioms: 6.24/6.64 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.64 -> Pairs: 6.24/6.64 PLUS(plus(0(X),1(Y)),x6) -> PLUS(U141(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 -> Usable Equations: 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 -> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> Usable Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U11(tt) -> tt 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 ->Interpretation type: 6.24/6.64 Linear 6.24/6.64 ->Coefficients: 6.24/6.64 Natural Numbers 6.24/6.64 ->Dimension: 6.24/6.64 1 6.24/6.64 ->Bound: 6.24/6.64 2 6.24/6.64 ->Interpretation: 6.24/6.64 6.24/6.64 [0](X) = 2 6.24/6.64 [U101](X1,X2,X3) = 0 6.24/6.64 [U102](X1,X2,X3) = 0 6.24/6.64 [U11](X) = 2.X 6.24/6.64 [U111](X1,X2,X3) = 0 6.24/6.64 [U112](X1,X2,X3) = 0 6.24/6.64 [U121](X1,X2) = X2 + 2 6.24/6.64 [U131](X1,X2,X3) = 2.X1 + 2 6.24/6.64 [U132](X1,X2,X3) = 2 6.24/6.64 [U141](X1,X2,X3) = 2.X1 + 2 6.24/6.64 [U142](X1,X2,X3) = 2.X1 + 2 6.24/6.64 [U151](X1,X2,X3) = 2 6.24/6.64 [U152](X1,X2,X3) = 2.X1 + 2 6.24/6.64 [U161](X1,X2) = 0 6.24/6.64 [U171](X1,X2,X3) = 0 6.24/6.64 [U172](X1,X2,X3) = 0 6.24/6.64 [U181](X1,X2) = 0 6.24/6.64 [U191](X1,X2,X3) = 0 6.24/6.64 [U192](X1,X2,X3) = 0 6.24/6.64 [U21](X1,X2) = 2.X1 6.24/6.64 [U22](X) = 2.X 6.24/6.64 [U31](X) = 2.X 6.24/6.64 [U41](X) = 2.X 6.24/6.64 [U51](X1,X2) = 2.X1 6.24/6.64 [U52](X) = 2.X 6.24/6.64 [U61](X1,X2) = 0 6.24/6.64 [U62](X) = 2.X 6.24/6.64 [U71](X) = 0 6.24/6.64 [U81](X) = 2.X 6.24/6.64 [U91](X) = 0 6.24/6.64 [isBag](X) = 0 6.24/6.64 [isBin](X) = 0 6.24/6.64 [mult](X1,X2) = 2.X1 + 2 6.24/6.64 [plus](X1,X2) = X1 + X2 + 2 6.24/6.64 [prod](X) = 2.X + 2 6.24/6.64 [sum](X) = 2.X 6.24/6.64 [union](X1,X2) = 2.X1 + X2 6.24/6.64 [1](X) = 2 6.24/6.64 [empty] = 0 6.24/6.64 [singl](X) = 2.X + 1 6.24/6.64 [tt] = 0 6.24/6.64 [z] = 2 6.24/6.64 [0#](X) = 0 6.24/6.64 [U101#](X1,X2,X3) = 0 6.24/6.64 [U102#](X1,X2,X3) = 0 6.24/6.64 [U11#](X) = 0 6.24/6.64 [U111#](X1,X2,X3) = 0 6.24/6.64 [U112#](X1,X2,X3) = 0 6.24/6.64 [U121#](X1,X2) = 0 6.24/6.64 [U131#](X1,X2,X3) = 0 6.24/6.64 [U132#](X1,X2,X3) = 0 6.24/6.64 [U141#](X1,X2,X3) = 0 6.24/6.64 [U142#](X1,X2,X3) = 0 6.24/6.64 [U151#](X1,X2,X3) = 0 6.24/6.64 [U152#](X1,X2,X3) = 0 6.24/6.64 [U161#](X1,X2) = 0 6.24/6.64 [U171#](X1,X2,X3) = 0 6.24/6.64 [U172#](X1,X2,X3) = 0 6.24/6.64 [U181#](X1,X2) = 0 6.24/6.64 [U191#](X1,X2,X3) = 0 6.24/6.64 [U192#](X1,X2,X3) = 0 6.24/6.64 [U21#](X1,X2) = 0 6.24/6.64 [U22#](X) = 0 6.24/6.64 [U31#](X) = 0 6.24/6.64 [U41#](X) = 0 6.24/6.64 [U51#](X1,X2) = 0 6.24/6.64 [U52#](X) = 0 6.24/6.64 [U61#](X1,X2) = 0 6.24/6.64 [U62#](X) = 0 6.24/6.64 [U71#](X) = 0 6.24/6.64 [U81#](X) = 0 6.24/6.64 [U91#](X) = 0 6.24/6.64 [ISBAG](X) = 0 6.24/6.64 [ISBIN](X) = 0 6.24/6.64 [MULT](X1,X2) = 0 6.24/6.64 [PLUS](X1,X2) = 2.X1 + 2.X2 6.24/6.64 [PROD](X) = 0 6.24/6.64 [SUM](X) = 0 6.24/6.64 [UNION](X1,X2) = 0 6.24/6.64 6.24/6.64 Problem 1.3: 6.24/6.64 6.24/6.64 SCC Processor: 6.24/6.64 -> FAxioms: 6.24/6.64 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.64 -> Pairs: 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 -> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 ->Strongly Connected Components: 6.24/6.64 ->->Cycle: 6.24/6.64 ->->-> Pairs: 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 -> FAxioms: 6.24/6.64 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) -> mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) -> plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) -> union(x7,x6) 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) -> PLUS(x7,x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 ->->-> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 6.24/6.64 Problem 1.3: 6.24/6.64 6.24/6.64 Reduction Pairs Processor: 6.24/6.64 -> FAxioms: 6.24/6.64 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.64 -> Pairs: 6.24/6.64 PLUS(plus(1(X),1(Y)),x6) -> PLUS(U151(isBin(X),X,Y),x6) 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 -> Usable Equations: 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 -> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> Usable Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U11(tt) -> tt 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 ->Interpretation type: 6.24/6.64 Linear 6.24/6.64 ->Coefficients: 6.24/6.64 Natural Numbers 6.24/6.64 ->Dimension: 6.24/6.64 1 6.24/6.64 ->Bound: 6.24/6.64 2 6.24/6.64 ->Interpretation: 6.24/6.64 6.24/6.64 [0](X) = 2 6.24/6.64 [U101](X1,X2,X3) = 0 6.24/6.64 [U102](X1,X2,X3) = 0 6.24/6.64 [U11](X) = 2.X + 1 6.24/6.64 [U111](X1,X2,X3) = 0 6.24/6.64 [U112](X1,X2,X3) = 0 6.24/6.64 [U121](X1,X2) = X2 + 1 6.24/6.64 [U131](X1,X2,X3) = 2 6.24/6.64 [U132](X1,X2,X3) = 2 6.24/6.64 [U141](X1,X2,X3) = 2 6.24/6.64 [U142](X1,X2,X3) = 2 6.24/6.64 [U151](X1,X2,X3) = 2 6.24/6.64 [U152](X1,X2,X3) = 2 6.24/6.64 [U161](X1,X2) = 0 6.24/6.64 [U171](X1,X2,X3) = 0 6.24/6.64 [U172](X1,X2,X3) = 0 6.24/6.64 [U181](X1,X2) = 0 6.24/6.64 [U191](X1,X2,X3) = 0 6.24/6.64 [U192](X1,X2,X3) = 0 6.24/6.64 [U21](X1,X2) = 2.X1 + 2.X2 + 1 6.24/6.64 [U22](X) = X + 2 6.24/6.64 [U31](X) = 2 6.24/6.64 [U41](X) = 2 6.24/6.64 [U51](X1,X2) = 2.X1 + X2 + 2 6.24/6.64 [U52](X) = 2 6.24/6.64 [U61](X1,X2) = X1 + 2.X2 + 2 6.24/6.64 [U62](X) = X + 2 6.24/6.64 [U71](X) = 2 6.24/6.64 [U81](X) = X + 2 6.24/6.64 [U91](X) = 0 6.24/6.64 [isBag](X) = 2.X + 2 6.24/6.64 [isBin](X) = 2.X + 2 6.24/6.64 [mult](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.64 [plus](X1,X2) = X1 + X2 + 2 6.24/6.64 [prod](X) = 1 6.24/6.64 [sum](X) = X + 2 6.24/6.64 [union](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.64 [1](X) = 2 6.24/6.64 [empty] = 0 6.24/6.64 [singl](X) = 2.X + 2 6.24/6.64 [tt] = 2 6.24/6.64 [z] = 2 6.24/6.64 [0#](X) = 0 6.24/6.64 [U101#](X1,X2,X3) = 0 6.24/6.64 [U102#](X1,X2,X3) = 0 6.24/6.64 [U11#](X) = 0 6.24/6.64 [U111#](X1,X2,X3) = 0 6.24/6.64 [U112#](X1,X2,X3) = 0 6.24/6.64 [U121#](X1,X2) = 0 6.24/6.64 [U131#](X1,X2,X3) = 0 6.24/6.64 [U132#](X1,X2,X3) = 0 6.24/6.64 [U141#](X1,X2,X3) = 0 6.24/6.64 [U142#](X1,X2,X3) = 0 6.24/6.64 [U151#](X1,X2,X3) = 0 6.24/6.64 [U152#](X1,X2,X3) = 0 6.24/6.64 [U161#](X1,X2) = 0 6.24/6.64 [U171#](X1,X2,X3) = 0 6.24/6.64 [U172#](X1,X2,X3) = 0 6.24/6.64 [U181#](X1,X2) = 0 6.24/6.64 [U191#](X1,X2,X3) = 0 6.24/6.64 [U192#](X1,X2,X3) = 0 6.24/6.64 [U21#](X1,X2) = 0 6.24/6.64 [U22#](X) = 0 6.24/6.64 [U31#](X) = 0 6.24/6.64 [U41#](X) = 0 6.24/6.64 [U51#](X1,X2) = 0 6.24/6.64 [U52#](X) = 0 6.24/6.64 [U61#](X1,X2) = 0 6.24/6.64 [U62#](X) = 0 6.24/6.64 [U71#](X) = 0 6.24/6.64 [U81#](X) = 0 6.24/6.64 [U91#](X) = 0 6.24/6.64 [ISBAG](X) = 0 6.24/6.64 [ISBIN](X) = 0 6.24/6.64 [MULT](X1,X2) = 0 6.24/6.64 [PLUS](X1,X2) = 2.X1 + 2.X2 6.24/6.64 [PROD](X) = 0 6.24/6.64 [SUM](X) = 0 6.24/6.64 [UNION](X1,X2) = 0 6.24/6.64 6.24/6.64 Problem 1.3: 6.24/6.64 6.24/6.64 SCC Processor: 6.24/6.64 -> FAxioms: 6.24/6.64 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.64 -> Pairs: 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 -> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 ->Strongly Connected Components: 6.24/6.64 ->->Cycle: 6.24/6.64 ->->-> Pairs: 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 -> FAxioms: 6.24/6.64 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) -> mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) -> plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) -> union(x7,x6) 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) -> PLUS(x7,x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 ->->-> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 6.24/6.64 Problem 1.3: 6.24/6.64 6.24/6.64 Reduction Pairs Processor: 6.24/6.64 -> FAxioms: 6.24/6.64 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.64 -> Pairs: 6.24/6.64 PLUS(plus(z,X),x6) -> PLUS(U121(isBin(X),X),x6) 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 -> Usable Equations: 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 -> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.64 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U161(tt,X) -> X 6.24/6.64 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.64 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.64 U181(tt,X) -> X 6.24/6.64 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.64 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 U91(tt) -> z 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.64 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.64 mult(z,X) -> U91(isBin(X)) 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.64 prod(empty) -> 1(z) 6.24/6.64 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.64 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.64 sum(empty) -> 0(z) 6.24/6.64 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.64 union(empty,X) -> X 6.24/6.64 union(X,empty) -> X 6.24/6.64 -> Usable Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U11(tt) -> tt 6.24/6.64 U121(tt,X) -> X 6.24/6.64 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.64 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.64 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.64 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.64 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.64 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.64 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.64 U22(tt) -> tt 6.24/6.64 U31(tt) -> tt 6.24/6.64 U41(tt) -> tt 6.24/6.64 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.64 U52(tt) -> tt 6.24/6.64 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.64 U62(tt) -> tt 6.24/6.64 U71(tt) -> tt 6.24/6.64 U81(tt) -> tt 6.24/6.64 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.64 isBag(empty) -> tt 6.24/6.64 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.64 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.64 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.64 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.64 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.64 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.64 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.64 isBin(z) -> tt 6.24/6.64 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.64 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.64 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.64 plus(z,X) -> U121(isBin(X),X) 6.24/6.64 -> SRules: 6.24/6.64 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.64 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.64 ->Interpretation type: 6.24/6.64 Linear 6.24/6.64 ->Coefficients: 6.24/6.64 Natural Numbers 6.24/6.64 ->Dimension: 6.24/6.64 1 6.24/6.64 ->Bound: 6.24/6.64 2 6.24/6.64 ->Interpretation: 6.24/6.64 6.24/6.64 [0](X) = 1 6.24/6.64 [U101](X1,X2,X3) = 0 6.24/6.64 [U102](X1,X2,X3) = 0 6.24/6.64 [U11](X) = 2.X + 1 6.24/6.64 [U111](X1,X2,X3) = 0 6.24/6.64 [U112](X1,X2,X3) = 0 6.24/6.64 [U121](X1,X2) = X2 6.24/6.64 [U131](X1,X2,X3) = 2 6.24/6.64 [U132](X1,X2,X3) = 1 6.24/6.64 [U141](X1,X2,X3) = 2 6.24/6.64 [U142](X1,X2,X3) = 2 6.24/6.64 [U151](X1,X2,X3) = 2 6.24/6.64 [U152](X1,X2,X3) = 2 6.24/6.64 [U161](X1,X2) = 0 6.24/6.64 [U171](X1,X2,X3) = 0 6.24/6.64 [U172](X1,X2,X3) = 0 6.24/6.64 [U181](X1,X2) = 0 6.24/6.64 [U191](X1,X2,X3) = 0 6.24/6.64 [U192](X1,X2,X3) = 0 6.24/6.64 [U21](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.64 [U22](X) = X + 2 6.24/6.64 [U31](X) = 2 6.24/6.64 [U41](X) = 2 6.24/6.64 [U51](X1,X2) = X1 + 2.X2 + 2 6.24/6.64 [U52](X) = 2.X 6.24/6.64 [U61](X1,X2) = X1 + X2 + 2 6.24/6.64 [U62](X) = X + 2 6.24/6.64 [U71](X) = X 6.24/6.64 [U81](X) = X + 2 6.24/6.64 [U91](X) = 0 6.24/6.64 [isBag](X) = 2.X + 2 6.24/6.64 [isBin](X) = X + 2 6.24/6.64 [mult](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.64 [plus](X1,X2) = X1 + X2 + 2 6.24/6.64 [prod](X) = 2.X 6.24/6.64 [sum](X) = 2.X + 2 6.24/6.64 [union](X1,X2) = 2.X1 + X2 + 2 6.24/6.64 [1](X) = 2 6.24/6.64 [empty] = 2 6.24/6.64 [singl](X) = 2.X + 2 6.24/6.64 [tt] = 2 6.24/6.64 [z] = 1 6.24/6.64 [0#](X) = 0 6.24/6.64 [U101#](X1,X2,X3) = 0 6.24/6.64 [U102#](X1,X2,X3) = 0 6.24/6.64 [U11#](X) = 0 6.24/6.64 [U111#](X1,X2,X3) = 0 6.24/6.64 [U112#](X1,X2,X3) = 0 6.24/6.64 [U121#](X1,X2) = 0 6.24/6.64 [U131#](X1,X2,X3) = 0 6.24/6.64 [U132#](X1,X2,X3) = 0 6.24/6.64 [U141#](X1,X2,X3) = 0 6.24/6.64 [U142#](X1,X2,X3) = 0 6.24/6.64 [U151#](X1,X2,X3) = 0 6.24/6.64 [U152#](X1,X2,X3) = 0 6.24/6.64 [U161#](X1,X2) = 0 6.24/6.64 [U171#](X1,X2,X3) = 0 6.24/6.64 [U172#](X1,X2,X3) = 0 6.24/6.64 [U181#](X1,X2) = 0 6.24/6.64 [U191#](X1,X2,X3) = 0 6.24/6.64 [U192#](X1,X2,X3) = 0 6.24/6.64 [U21#](X1,X2) = 0 6.24/6.64 [U22#](X) = 0 6.24/6.64 [U31#](X) = 0 6.24/6.64 [U41#](X) = 0 6.24/6.64 [U51#](X1,X2) = 0 6.24/6.64 [U52#](X) = 0 6.24/6.64 [U61#](X1,X2) = 0 6.24/6.64 [U62#](X) = 0 6.24/6.64 [U71#](X) = 0 6.24/6.64 [U81#](X) = 0 6.24/6.64 [U91#](X) = 0 6.24/6.64 [ISBAG](X) = 0 6.24/6.64 [ISBIN](X) = 0 6.24/6.64 [MULT](X1,X2) = 0 6.24/6.64 [PLUS](X1,X2) = 2.X1 + 2.X2 6.24/6.64 [PROD](X) = 0 6.24/6.64 [SUM](X) = 0 6.24/6.64 [UNION](X1,X2) = 0 6.24/6.64 6.24/6.64 Problem 1.3: 6.24/6.64 6.24/6.64 SCC Processor: 6.24/6.64 -> FAxioms: 6.24/6.64 PLUS(plus(x6,x7),x8) = PLUS(x6,plus(x7,x8)) 6.24/6.64 PLUS(x6,x7) = PLUS(x7,x6) 6.24/6.64 -> Pairs: 6.24/6.64 Empty 6.24/6.64 -> EAxioms: 6.24/6.64 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.64 mult(x6,x7) = mult(x7,x6) 6.24/6.64 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.64 plus(x6,x7) = plus(x7,x6) 6.24/6.64 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.64 union(x6,x7) = union(x7,x6) 6.24/6.64 -> Rules: 6.24/6.64 0(z) -> z 6.24/6.64 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.64 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.64 U11(tt) -> tt 6.24/6.64 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> SRules: 6.24/6.65 PLUS(plus(x6,x7),x8) -> PLUS(x6,x7) 6.24/6.65 PLUS(x6,plus(x7,x8)) -> PLUS(x7,x8) 6.24/6.65 ->Strongly Connected Components: 6.24/6.65 There is no strongly connected component 6.24/6.65 6.24/6.65 The problem is finite. 6.24/6.65 6.24/6.65 Problem 1.4: 6.24/6.65 6.24/6.65 Reduction Pairs Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 Empty 6.24/6.65 -> Pairs: 6.24/6.65 U191#(tt,A,B) -> U192#(isBag(B),A,B) 6.24/6.65 U192#(tt,A,B) -> SUM(A) 6.24/6.65 U192#(tt,A,B) -> SUM(B) 6.24/6.65 SUM(union(A,B)) -> U191#(isBag(A),A,B) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Usable Equations: 6.24/6.65 Empty 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> Usable Rules: 6.24/6.65 U11(tt) -> tt 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 -> SRules: 6.24/6.65 Empty 6.24/6.65 ->Interpretation type: 6.24/6.65 Linear 6.24/6.65 ->Coefficients: 6.24/6.65 Natural Numbers 6.24/6.65 ->Dimension: 6.24/6.65 1 6.24/6.65 ->Bound: 6.24/6.65 2 6.24/6.65 ->Interpretation: 6.24/6.65 6.24/6.65 [0](X) = 2.X + 2 6.24/6.65 [U101](X1,X2,X3) = 0 6.24/6.65 [U102](X1,X2,X3) = 0 6.24/6.65 [U11](X) = 2 6.24/6.65 [U111](X1,X2,X3) = 0 6.24/6.65 [U112](X1,X2,X3) = 0 6.24/6.65 [U121](X1,X2) = 0 6.24/6.65 [U131](X1,X2,X3) = 0 6.24/6.65 [U132](X1,X2,X3) = 0 6.24/6.65 [U141](X1,X2,X3) = 0 6.24/6.65 [U142](X1,X2,X3) = 0 6.24/6.65 [U151](X1,X2,X3) = 0 6.24/6.65 [U152](X1,X2,X3) = 0 6.24/6.65 [U161](X1,X2) = 0 6.24/6.65 [U171](X1,X2,X3) = 0 6.24/6.65 [U172](X1,X2,X3) = 0 6.24/6.65 [U181](X1,X2) = 0 6.24/6.65 [U191](X1,X2,X3) = 0 6.24/6.65 [U192](X1,X2,X3) = 0 6.24/6.65 [U21](X1,X2) = 2.X1 6.24/6.65 [U22](X) = 2 6.24/6.65 [U31](X) = 2.X + 1 6.24/6.65 [U41](X) = 2.X + 2 6.24/6.65 [U51](X1,X2) = X1 + 2.X2 + 2 6.24/6.65 [U52](X) = X 6.24/6.65 [U61](X1,X2) = 2.X1 + 2 6.24/6.65 [U62](X) = 2 6.24/6.65 [U71](X) = 2.X + 2 6.24/6.65 [U81](X) = 2 6.24/6.65 [U91](X) = 0 6.24/6.65 [isBag](X) = 2.X + 2 6.24/6.65 [isBin](X) = 2.X + 2 6.24/6.65 [mult](X1,X2) = X1 + 2.X2 + 1 6.24/6.65 [plus](X1,X2) = 2.X1 + 2 6.24/6.65 [prod](X) = 2.X + 2 6.24/6.65 [sum](X) = 2 6.24/6.65 [union](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.65 [1](X) = 2.X + 2 6.24/6.65 [empty] = 2 6.24/6.65 [singl](X) = X 6.24/6.65 [tt] = 2 6.24/6.65 [z] = 0 6.24/6.65 [0#](X) = 0 6.24/6.65 [U101#](X1,X2,X3) = 0 6.24/6.65 [U102#](X1,X2,X3) = 0 6.24/6.65 [U11#](X) = 0 6.24/6.65 [U111#](X1,X2,X3) = 0 6.24/6.65 [U112#](X1,X2,X3) = 0 6.24/6.65 [U121#](X1,X2) = 0 6.24/6.65 [U131#](X1,X2,X3) = 0 6.24/6.65 [U132#](X1,X2,X3) = 0 6.24/6.65 [U141#](X1,X2,X3) = 0 6.24/6.65 [U142#](X1,X2,X3) = 0 6.24/6.65 [U151#](X1,X2,X3) = 0 6.24/6.65 [U152#](X1,X2,X3) = 0 6.24/6.65 [U161#](X1,X2) = 0 6.24/6.65 [U171#](X1,X2,X3) = 0 6.24/6.65 [U172#](X1,X2,X3) = 0 6.24/6.65 [U181#](X1,X2) = 0 6.24/6.65 [U191#](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 6.24/6.65 [U192#](X1,X2,X3) = 2.X2 + 2.X3 + 2 6.24/6.65 [U21#](X1,X2) = 0 6.24/6.65 [U22#](X) = 0 6.24/6.65 [U31#](X) = 0 6.24/6.65 [U41#](X) = 0 6.24/6.65 [U51#](X1,X2) = 0 6.24/6.65 [U52#](X) = 0 6.24/6.65 [U61#](X1,X2) = 0 6.24/6.65 [U62#](X) = 0 6.24/6.65 [U71#](X) = 0 6.24/6.65 [U81#](X) = 0 6.24/6.65 [U91#](X) = 0 6.24/6.65 [ISBAG](X) = 0 6.24/6.65 [ISBIN](X) = 0 6.24/6.65 [MULT](X1,X2) = 0 6.24/6.65 [PLUS](X1,X2) = 0 6.24/6.65 [PROD](X) = 0 6.24/6.65 [SUM](X) = 2.X + 2 6.24/6.65 [UNION](X1,X2) = 0 6.24/6.65 6.24/6.65 Problem 1.4: 6.24/6.65 6.24/6.65 SCC Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 Empty 6.24/6.65 -> Pairs: 6.24/6.65 U192#(tt,A,B) -> SUM(A) 6.24/6.65 U192#(tt,A,B) -> SUM(B) 6.24/6.65 SUM(union(A,B)) -> U191#(isBag(A),A,B) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> SRules: 6.24/6.65 Empty 6.24/6.65 ->Strongly Connected Components: 6.24/6.65 There is no strongly connected component 6.24/6.65 6.24/6.65 The problem is finite. 6.24/6.65 6.24/6.65 Problem 1.5: 6.24/6.65 6.24/6.65 Reduction Pairs Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 MULT(mult(x6,x7),x8) = MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) = MULT(x7,x6) 6.24/6.65 -> Pairs: 6.24/6.65 U101#(tt,X,Y) -> U102#(isBin(Y),X,Y) 6.24/6.65 U102#(tt,X,Y) -> MULT(X,Y) 6.24/6.65 U111#(tt,X,Y) -> U112#(isBin(Y),X,Y) 6.24/6.65 U112#(tt,X,Y) -> MULT(X,Y) 6.24/6.65 MULT(0(X),Y) -> U101#(isBin(X),X,Y) 6.24/6.65 MULT(mult(0(X),Y),x6) -> U101#(isBin(X),X,Y) 6.24/6.65 MULT(mult(0(X),Y),x6) -> MULT(U101(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(1(X),Y),x6) -> U111#(isBin(X),X,Y) 6.24/6.65 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 MULT(1(X),Y) -> U111#(isBin(X),X,Y) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Usable Equations: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> Usable Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 ->Interpretation type: 6.24/6.65 Simple mixed 6.24/6.65 ->Coefficients: 6.24/6.65 Natural Numbers 6.24/6.65 ->Dimension: 6.24/6.65 1 6.24/6.65 ->Bound: 6.24/6.65 1 6.24/6.65 ->Interpretation: 6.24/6.65 6.24/6.65 [0](X) = X + 1 6.24/6.65 [U101](X1,X2,X3) = X1.X2.X3 + X1.X2 + X3 + 1 6.24/6.65 [U102](X1,X2,X3) = X1.X2.X3 + X1.X2 + X1.X3 + X1 6.24/6.65 [U11](X) = X.X + X + 1 6.24/6.65 [U111](X1,X2,X3) = X1.X2.X3 + X1.X2 + X1.X3 + X3 + 1 6.24/6.65 [U112](X1,X2,X3) = X1.X2.X3 + X1.X2 + X1.X3 + X3 + 1 6.24/6.65 [U121](X1,X2) = X1.X2 6.24/6.65 [U131](X1,X2,X3) = X1.X2 + X1 + X3 + 1 6.24/6.65 [U132](X1,X2,X3) = X1.X3 + X2 + 1 6.24/6.65 [U141](X1,X2,X3) = X1.X2 + X1.X3 + X1 + 1 6.24/6.65 [U142](X1,X2,X3) = X1.X2 + X1.X3 + 1 6.24/6.65 [U151](X1,X2,X3) = X1.X3 + X1 + X2 + 1 6.24/6.65 [U152](X1,X2,X3) = X1.X2 + X1.X3 + X1 + 1 6.24/6.65 [U161](X1,X2) = 0 6.24/6.65 [U171](X1,X2,X3) = 0 6.24/6.65 [U172](X1,X2,X3) = 0 6.24/6.65 [U181](X1,X2) = 0 6.24/6.65 [U191](X1,X2,X3) = 0 6.24/6.65 [U192](X1,X2,X3) = 0 6.24/6.65 [U21](X1,X2) = X1.X2 + X1 + X2 + 1 6.24/6.65 [U22](X) = 1 6.24/6.65 [U31](X) = 1 6.24/6.65 [U41](X) = 1 6.24/6.65 [U51](X1,X2) = X1 6.24/6.65 [U52](X) = X 6.24/6.65 [U61](X1,X2) = X1 6.24/6.65 [U62](X) = X.X 6.24/6.65 [U71](X) = 1 6.24/6.65 [U81](X) = 1 6.24/6.65 [U91](X) = 0 6.24/6.65 [isBag](X) = X.X + X + 1 6.24/6.65 [isBin](X) = 1 6.24/6.65 [mult](X1,X2) = X1.X2 + X1 + X2 6.24/6.65 [plus](X1,X2) = X1 + X2 6.24/6.65 [prod](X) = X.X + 1 6.24/6.65 [sum](X) = X 6.24/6.65 [union](X1,X2) = X1.X2 + X1 + X2 + 1 6.24/6.65 [1](X) = X + 1 6.24/6.65 [empty] = 1 6.24/6.65 [singl](X) = X + 1 6.24/6.65 [tt] = 1 6.24/6.65 [z] = 0 6.24/6.65 [0#](X) = 0 6.24/6.65 [U101#](X1,X2,X3) = X1.X2.X3 + X1.X2 + X1.X3 + X1 + X3 + 1 6.24/6.65 [U102#](X1,X2,X3) = X1.X2.X3 + X1.X2 + X1 + X3 6.24/6.65 [U11#](X) = 0 6.24/6.65 [U111#](X1,X2,X3) = X1.X2.X3 + X1.X2 + X1.X3 + X1 + X3 + 1 6.24/6.65 [U112#](X1,X2,X3) = X1.X2.X3 + X1.X2 + X1.X3 + X1 + X3 + 1 6.24/6.65 [U121#](X1,X2) = 0 6.24/6.65 [U131#](X1,X2,X3) = 0 6.24/6.65 [U132#](X1,X2,X3) = 0 6.24/6.65 [U141#](X1,X2,X3) = 0 6.24/6.65 [U142#](X1,X2,X3) = 0 6.24/6.65 [U151#](X1,X2,X3) = 0 6.24/6.65 [U152#](X1,X2,X3) = 0 6.24/6.65 [U161#](X1,X2) = 0 6.24/6.65 [U171#](X1,X2,X3) = 0 6.24/6.65 [U172#](X1,X2,X3) = 0 6.24/6.65 [U181#](X1,X2) = 0 6.24/6.65 [U191#](X1,X2,X3) = 0 6.24/6.65 [U192#](X1,X2,X3) = 0 6.24/6.65 [U21#](X1,X2) = 0 6.24/6.65 [U22#](X) = 0 6.24/6.65 [U31#](X) = 0 6.24/6.65 [U41#](X) = 0 6.24/6.65 [U51#](X1,X2) = 0 6.24/6.65 [U52#](X) = 0 6.24/6.65 [U61#](X1,X2) = 0 6.24/6.65 [U62#](X) = 0 6.24/6.65 [U71#](X) = 0 6.24/6.65 [U81#](X) = 0 6.24/6.65 [U91#](X) = 0 6.24/6.65 [ISBAG](X) = 0 6.24/6.65 [ISBIN](X) = 0 6.24/6.65 [MULT](X1,X2) = X1.X2 + X1 + X2 + 1 6.24/6.65 [PLUS](X1,X2) = 0 6.24/6.65 [PROD](X) = 0 6.24/6.65 [SUM](X) = 0 6.24/6.65 [UNION](X1,X2) = 0 6.24/6.65 6.24/6.65 Problem 1.5: 6.24/6.65 6.24/6.65 SCC Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 MULT(mult(x6,x7),x8) = MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) = MULT(x7,x6) 6.24/6.65 -> Pairs: 6.24/6.65 U102#(tt,X,Y) -> MULT(X,Y) 6.24/6.65 U111#(tt,X,Y) -> U112#(isBin(Y),X,Y) 6.24/6.65 U112#(tt,X,Y) -> MULT(X,Y) 6.24/6.65 MULT(0(X),Y) -> U101#(isBin(X),X,Y) 6.24/6.65 MULT(mult(0(X),Y),x6) -> U101#(isBin(X),X,Y) 6.24/6.65 MULT(mult(0(X),Y),x6) -> MULT(U101(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(1(X),Y),x6) -> U111#(isBin(X),X,Y) 6.24/6.65 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 MULT(1(X),Y) -> U111#(isBin(X),X,Y) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 ->Strongly Connected Components: 6.24/6.65 ->->Cycle: 6.24/6.65 ->->-> Pairs: 6.24/6.65 U111#(tt,X,Y) -> U112#(isBin(Y),X,Y) 6.24/6.65 U112#(tt,X,Y) -> MULT(X,Y) 6.24/6.65 MULT(mult(0(X),Y),x6) -> MULT(U101(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(1(X),Y),x6) -> U111#(isBin(X),X,Y) 6.24/6.65 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 MULT(1(X),Y) -> U111#(isBin(X),X,Y) 6.24/6.65 -> FAxioms: 6.24/6.65 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) -> mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) -> plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) -> union(x7,x6) 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) -> MULT(x7,x6) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 ->->-> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 6.24/6.65 Problem 1.5: 6.24/6.65 6.24/6.65 Reduction Pairs Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 MULT(mult(x6,x7),x8) = MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) = MULT(x7,x6) 6.24/6.65 -> Pairs: 6.24/6.65 U111#(tt,X,Y) -> U112#(isBin(Y),X,Y) 6.24/6.65 U112#(tt,X,Y) -> MULT(X,Y) 6.24/6.65 MULT(mult(0(X),Y),x6) -> MULT(U101(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(1(X),Y),x6) -> U111#(isBin(X),X,Y) 6.24/6.65 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 MULT(1(X),Y) -> U111#(isBin(X),X,Y) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Usable Equations: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> Usable Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 ->Interpretation type: 6.24/6.65 Simple mixed 6.24/6.65 ->Coefficients: 6.24/6.65 Natural Numbers 6.24/6.65 ->Dimension: 6.24/6.65 1 6.24/6.65 ->Bound: 6.24/6.65 1 6.24/6.65 ->Interpretation: 6.24/6.65 6.24/6.65 [0](X) = X + 1 6.24/6.65 [U101](X1,X2,X3) = X1.X2.X3 + X1.X2 + X1.X3 + X1 + X3 6.24/6.65 [U102](X1,X2,X3) = X1.X3 + X2.X3 + X2 + X3 + 1 6.24/6.65 [U11](X) = X + 1 6.24/6.65 [U111](X1,X2,X3) = X1.X2 + X1.X3 + X2.X3 + X1 + X3 6.24/6.65 [U112](X1,X2,X3) = X1.X3 + X2.X3 + X2 + X3 + 1 6.24/6.65 [U121](X1,X2) = X1.X2 6.24/6.65 [U131](X1,X2,X3) = X1.X2 + X1 + X3 + 1 6.24/6.65 [U132](X1,X2,X3) = X1.X2 + X1 + X3 + 1 6.24/6.65 [U141](X1,X2,X3) = X1 + X2 + X3 + 1 6.24/6.65 [U142](X1,X2,X3) = X1 + X2 + X3 + 1 6.24/6.65 [U151](X1,X2,X3) = X1.X2 + X1.X3 + X1 + 1 6.24/6.65 [U152](X1,X2,X3) = X1 + X2 + X3 + 1 6.24/6.65 [U161](X1,X2) = 0 6.24/6.65 [U171](X1,X2,X3) = 0 6.24/6.65 [U172](X1,X2,X3) = 0 6.24/6.65 [U181](X1,X2) = 0 6.24/6.65 [U191](X1,X2,X3) = 0 6.24/6.65 [U192](X1,X2,X3) = 0 6.24/6.65 [U21](X1,X2) = X1 + X2 6.24/6.65 [U22](X) = 1 6.24/6.65 [U31](X) = 1 6.24/6.65 [U41](X) = X.X 6.24/6.65 [U51](X1,X2) = X1 6.24/6.65 [U52](X) = X.X 6.24/6.65 [U61](X1,X2) = 1 6.24/6.65 [U62](X) = 1 6.24/6.65 [U71](X) = 1 6.24/6.65 [U81](X) = 1 6.24/6.65 [U91](X) = 0 6.24/6.65 [isBag](X) = X + 1 6.24/6.65 [isBin](X) = 1 6.24/6.65 [mult](X1,X2) = X1.X2 + X1 + X2 6.24/6.65 [plus](X1,X2) = X1 + X2 6.24/6.65 [prod](X) = 0 6.24/6.65 [sum](X) = 0 6.24/6.65 [union](X1,X2) = X1.X2 + X1 + X2 6.24/6.65 [1](X) = X + 1 6.24/6.65 [empty] = 1 6.24/6.65 [singl](X) = X.X + X + 1 6.24/6.65 [tt] = 1 6.24/6.65 [z] = 0 6.24/6.65 [0#](X) = 0 6.24/6.65 [U101#](X1,X2,X3) = 0 6.24/6.65 [U102#](X1,X2,X3) = 0 6.24/6.65 [U11#](X) = 0 6.24/6.65 [U111#](X1,X2,X3) = X2.X3 + X1 + X2 + X3 + 1 6.24/6.65 [U112#](X1,X2,X3) = X1.X2 + X2.X3 + X1 + X3 6.24/6.65 [U121#](X1,X2) = 0 6.24/6.65 [U131#](X1,X2,X3) = 0 6.24/6.65 [U132#](X1,X2,X3) = 0 6.24/6.65 [U141#](X1,X2,X3) = 0 6.24/6.65 [U142#](X1,X2,X3) = 0 6.24/6.65 [U151#](X1,X2,X3) = 0 6.24/6.65 [U152#](X1,X2,X3) = 0 6.24/6.65 [U161#](X1,X2) = 0 6.24/6.65 [U171#](X1,X2,X3) = 0 6.24/6.65 [U172#](X1,X2,X3) = 0 6.24/6.65 [U181#](X1,X2) = 0 6.24/6.65 [U191#](X1,X2,X3) = 0 6.24/6.65 [U192#](X1,X2,X3) = 0 6.24/6.65 [U21#](X1,X2) = 0 6.24/6.65 [U22#](X) = 0 6.24/6.65 [U31#](X) = 0 6.24/6.65 [U41#](X) = 0 6.24/6.65 [U51#](X1,X2) = 0 6.24/6.65 [U52#](X) = 0 6.24/6.65 [U61#](X1,X2) = 0 6.24/6.65 [U62#](X) = 0 6.24/6.65 [U71#](X) = 0 6.24/6.65 [U81#](X) = 0 6.24/6.65 [U91#](X) = 0 6.24/6.65 [ISBAG](X) = 0 6.24/6.65 [ISBIN](X) = 0 6.24/6.65 [MULT](X1,X2) = X1.X2 + X1 + X2 + 1 6.24/6.65 [PLUS](X1,X2) = 0 6.24/6.65 [PROD](X) = 0 6.24/6.65 [SUM](X) = 0 6.24/6.65 [UNION](X1,X2) = 0 6.24/6.65 6.24/6.65 Problem 1.5: 6.24/6.65 6.24/6.65 SCC Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 MULT(mult(x6,x7),x8) = MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) = MULT(x7,x6) 6.24/6.65 -> Pairs: 6.24/6.65 U112#(tt,X,Y) -> MULT(X,Y) 6.24/6.65 MULT(mult(0(X),Y),x6) -> MULT(U101(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(1(X),Y),x6) -> U111#(isBin(X),X,Y) 6.24/6.65 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 MULT(1(X),Y) -> U111#(isBin(X),X,Y) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 ->Strongly Connected Components: 6.24/6.65 ->->Cycle: 6.24/6.65 ->->-> Pairs: 6.24/6.65 MULT(mult(0(X),Y),x6) -> MULT(U101(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 -> FAxioms: 6.24/6.65 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) -> mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) -> plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) -> union(x7,x6) 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) -> MULT(x7,x6) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 ->->-> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 6.24/6.65 Problem 1.5: 6.24/6.65 6.24/6.65 Reduction Pairs Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 MULT(mult(x6,x7),x8) = MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) = MULT(x7,x6) 6.24/6.65 -> Pairs: 6.24/6.65 MULT(mult(0(X),Y),x6) -> MULT(U101(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Usable Equations: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> Usable Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 ->Interpretation type: 6.24/6.65 Linear 6.24/6.65 ->Coefficients: 6.24/6.65 Natural Numbers 6.24/6.65 ->Dimension: 6.24/6.65 1 6.24/6.65 ->Bound: 6.24/6.65 2 6.24/6.65 ->Interpretation: 6.24/6.65 6.24/6.65 [0](X) = 0 6.24/6.65 [U101](X1,X2,X3) = X3 + 1 6.24/6.65 [U102](X1,X2,X3) = X3 6.24/6.65 [U11](X) = X + 1 6.24/6.65 [U111](X1,X2,X3) = X3 + 2 6.24/6.65 [U112](X1,X2,X3) = X3 + 2 6.24/6.65 [U121](X1,X2) = X2 6.24/6.65 [U131](X1,X2,X3) = 2 6.24/6.65 [U132](X1,X2,X3) = 2 6.24/6.65 [U141](X1,X2,X3) = 2 6.24/6.65 [U142](X1,X2,X3) = 2 6.24/6.65 [U151](X1,X2,X3) = 2 6.24/6.65 [U152](X1,X2,X3) = 2 6.24/6.65 [U161](X1,X2) = 0 6.24/6.65 [U171](X1,X2,X3) = 0 6.24/6.65 [U172](X1,X2,X3) = 0 6.24/6.65 [U181](X1,X2) = 0 6.24/6.65 [U191](X1,X2,X3) = 0 6.24/6.65 [U192](X1,X2,X3) = 0 6.24/6.65 [U21](X1,X2) = 2.X1 + 2.X2 6.24/6.65 [U22](X) = 2.X 6.24/6.65 [U31](X) = 2 6.24/6.65 [U41](X) = 2 6.24/6.65 [U51](X1,X2) = X1 + 2.X2 + 2 6.24/6.65 [U52](X) = X + 1 6.24/6.65 [U61](X1,X2) = X2 + 2 6.24/6.65 [U62](X) = 2 6.24/6.65 [U71](X) = 2.X + 2 6.24/6.65 [U81](X) = 2.X + 2 6.24/6.65 [U91](X) = 1 6.24/6.65 [isBag](X) = X + 1 6.24/6.65 [isBin](X) = 2.X + 2 6.24/6.65 [mult](X1,X2) = X1 + X2 + 2 6.24/6.65 [plus](X1,X2) = X1 + X2 + 2 6.24/6.65 [prod](X) = 2.X + 1 6.24/6.65 [sum](X) = X + 2 6.24/6.65 [union](X1,X2) = 2.X1 + 2.X2 + 1 6.24/6.65 [1](X) = 2 6.24/6.65 [empty] = 2 6.24/6.65 [singl](X) = 2.X + 2 6.24/6.65 [tt] = 2 6.24/6.65 [z] = 0 6.24/6.65 [0#](X) = 0 6.24/6.65 [U101#](X1,X2,X3) = 0 6.24/6.65 [U102#](X1,X2,X3) = 0 6.24/6.65 [U11#](X) = 0 6.24/6.65 [U111#](X1,X2,X3) = 0 6.24/6.65 [U112#](X1,X2,X3) = 0 6.24/6.65 [U121#](X1,X2) = 0 6.24/6.65 [U131#](X1,X2,X3) = 0 6.24/6.65 [U132#](X1,X2,X3) = 0 6.24/6.65 [U141#](X1,X2,X3) = 0 6.24/6.65 [U142#](X1,X2,X3) = 0 6.24/6.65 [U151#](X1,X2,X3) = 0 6.24/6.65 [U152#](X1,X2,X3) = 0 6.24/6.65 [U161#](X1,X2) = 0 6.24/6.65 [U171#](X1,X2,X3) = 0 6.24/6.65 [U172#](X1,X2,X3) = 0 6.24/6.65 [U181#](X1,X2) = 0 6.24/6.65 [U191#](X1,X2,X3) = 0 6.24/6.65 [U192#](X1,X2,X3) = 0 6.24/6.65 [U21#](X1,X2) = 0 6.24/6.65 [U22#](X) = 0 6.24/6.65 [U31#](X) = 0 6.24/6.65 [U41#](X) = 0 6.24/6.65 [U51#](X1,X2) = 0 6.24/6.65 [U52#](X) = 0 6.24/6.65 [U61#](X1,X2) = 0 6.24/6.65 [U62#](X) = 0 6.24/6.65 [U71#](X) = 0 6.24/6.65 [U81#](X) = 0 6.24/6.65 [U91#](X) = 0 6.24/6.65 [ISBAG](X) = 0 6.24/6.65 [ISBIN](X) = 0 6.24/6.65 [MULT](X1,X2) = 2.X1 + 2.X2 6.24/6.65 [PLUS](X1,X2) = 0 6.24/6.65 [PROD](X) = 0 6.24/6.65 [SUM](X) = 0 6.24/6.65 [UNION](X1,X2) = 0 6.24/6.65 6.24/6.65 Problem 1.5: 6.24/6.65 6.24/6.65 SCC Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 MULT(mult(x6,x7),x8) = MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) = MULT(x7,x6) 6.24/6.65 -> Pairs: 6.24/6.65 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 ->Strongly Connected Components: 6.24/6.65 ->->Cycle: 6.24/6.65 ->->-> Pairs: 6.24/6.65 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 -> FAxioms: 6.24/6.65 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) -> mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) -> plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) -> union(x7,x6) 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) -> MULT(x7,x6) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 ->->-> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 6.24/6.65 Problem 1.5: 6.24/6.65 6.24/6.65 Reduction Pairs Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 MULT(mult(x6,x7),x8) = MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) = MULT(x7,x6) 6.24/6.65 -> Pairs: 6.24/6.65 MULT(mult(1(X),Y),x6) -> MULT(U111(isBin(X),X,Y),x6) 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Usable Equations: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> Usable Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 ->Interpretation type: 6.24/6.65 Linear 6.24/6.65 ->Coefficients: 6.24/6.65 Natural Numbers 6.24/6.65 ->Dimension: 6.24/6.65 1 6.24/6.65 ->Bound: 6.24/6.65 2 6.24/6.65 ->Interpretation: 6.24/6.65 6.24/6.65 [0](X) = 2 6.24/6.65 [U101](X1,X2,X3) = X1 + 2 6.24/6.65 [U102](X1,X2,X3) = 2 6.24/6.65 [U11](X) = 2 6.24/6.65 [U111](X1,X2,X3) = X3 + 2 6.24/6.65 [U112](X1,X2,X3) = X1 + X3 6.24/6.65 [U121](X1,X2) = X1 + X2 6.24/6.65 [U131](X1,X2,X3) = X1 + 2 6.24/6.65 [U132](X1,X2,X3) = 2.X1 6.24/6.65 [U141](X1,X2,X3) = 2.X1 6.24/6.65 [U142](X1,X2,X3) = 2.X1 6.24/6.65 [U151](X1,X2,X3) = X1 + 2 6.24/6.65 [U152](X1,X2,X3) = 2.X1 6.24/6.65 [U161](X1,X2) = 0 6.24/6.65 [U171](X1,X2,X3) = 0 6.24/6.65 [U172](X1,X2,X3) = 0 6.24/6.65 [U181](X1,X2) = 0 6.24/6.65 [U191](X1,X2,X3) = 0 6.24/6.65 [U192](X1,X2,X3) = 0 6.24/6.65 [U21](X1,X2) = 2 6.24/6.65 [U22](X) = X 6.24/6.65 [U31](X) = 2 6.24/6.65 [U41](X) = 2 6.24/6.65 [U51](X1,X2) = X1 6.24/6.65 [U52](X) = X 6.24/6.65 [U61](X1,X2) = X1 6.24/6.65 [U62](X) = 2 6.24/6.65 [U71](X) = X 6.24/6.65 [U81](X) = X 6.24/6.65 [U91](X) = X 6.24/6.65 [isBag](X) = 2 6.24/6.65 [isBin](X) = 2 6.24/6.65 [mult](X1,X2) = X1 + X2 + 2 6.24/6.65 [plus](X1,X2) = X1 + X2 6.24/6.65 [prod](X) = 2.X + 2 6.24/6.65 [sum](X) = X + 2 6.24/6.65 [union](X1,X2) = 2.X1 + 2.X2 6.24/6.65 [1](X) = 2 6.24/6.65 [empty] = 2 6.24/6.65 [singl](X) = X + 2 6.24/6.65 [tt] = 2 6.24/6.65 [z] = 2 6.24/6.65 [0#](X) = 0 6.24/6.65 [U101#](X1,X2,X3) = 0 6.24/6.65 [U102#](X1,X2,X3) = 0 6.24/6.65 [U11#](X) = 0 6.24/6.65 [U111#](X1,X2,X3) = 0 6.24/6.65 [U112#](X1,X2,X3) = 0 6.24/6.65 [U121#](X1,X2) = 0 6.24/6.65 [U131#](X1,X2,X3) = 0 6.24/6.65 [U132#](X1,X2,X3) = 0 6.24/6.65 [U141#](X1,X2,X3) = 0 6.24/6.65 [U142#](X1,X2,X3) = 0 6.24/6.65 [U151#](X1,X2,X3) = 0 6.24/6.65 [U152#](X1,X2,X3) = 0 6.24/6.65 [U161#](X1,X2) = 0 6.24/6.65 [U171#](X1,X2,X3) = 0 6.24/6.65 [U172#](X1,X2,X3) = 0 6.24/6.65 [U181#](X1,X2) = 0 6.24/6.65 [U191#](X1,X2,X3) = 0 6.24/6.65 [U192#](X1,X2,X3) = 0 6.24/6.65 [U21#](X1,X2) = 0 6.24/6.65 [U22#](X) = 0 6.24/6.65 [U31#](X) = 0 6.24/6.65 [U41#](X) = 0 6.24/6.65 [U51#](X1,X2) = 0 6.24/6.65 [U52#](X) = 0 6.24/6.65 [U61#](X1,X2) = 0 6.24/6.65 [U62#](X) = 0 6.24/6.65 [U71#](X) = 0 6.24/6.65 [U81#](X) = 0 6.24/6.65 [U91#](X) = 0 6.24/6.65 [ISBAG](X) = 0 6.24/6.65 [ISBIN](X) = 0 6.24/6.65 [MULT](X1,X2) = 2.X1 + 2.X2 6.24/6.65 [PLUS](X1,X2) = 0 6.24/6.65 [PROD](X) = 0 6.24/6.65 [SUM](X) = 0 6.24/6.65 [UNION](X1,X2) = 0 6.24/6.65 6.24/6.65 Problem 1.5: 6.24/6.65 6.24/6.65 SCC Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 MULT(mult(x6,x7),x8) = MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) = MULT(x7,x6) 6.24/6.65 -> Pairs: 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 ->Strongly Connected Components: 6.24/6.65 ->->Cycle: 6.24/6.65 ->->-> Pairs: 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 -> FAxioms: 6.24/6.65 mult(mult(x6,x7),x8) -> mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) -> mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) -> plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) -> plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) -> union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) -> union(x7,x6) 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) -> MULT(x7,x6) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 ->->-> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 6.24/6.65 Problem 1.5: 6.24/6.65 6.24/6.65 Reduction Pairs Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 MULT(mult(x6,x7),x8) = MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) = MULT(x7,x6) 6.24/6.65 -> Pairs: 6.24/6.65 MULT(mult(z,X),x6) -> MULT(U91(isBin(X)),x6) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Usable Equations: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> Usable Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 ->Interpretation type: 6.24/6.65 Linear 6.24/6.65 ->Coefficients: 6.24/6.65 Natural Numbers 6.24/6.65 ->Dimension: 6.24/6.65 1 6.24/6.65 ->Bound: 6.24/6.65 2 6.24/6.65 ->Interpretation: 6.24/6.65 6.24/6.65 [0](X) = 1 6.24/6.65 [U101](X1,X2,X3) = X1 + X3 + 1 6.24/6.65 [U102](X1,X2,X3) = 2.X1 + X3 + 1 6.24/6.65 [U11](X) = 2.X + 1 6.24/6.65 [U111](X1,X2,X3) = 2.X1 + X3 + 2 6.24/6.65 [U112](X1,X2,X3) = 2.X1 + X3 + 2 6.24/6.65 [U121](X1,X2) = X1 + X2 + 1 6.24/6.65 [U131](X1,X2,X3) = 2 6.24/6.65 [U132](X1,X2,X3) = 2.X1 + 2 6.24/6.65 [U141](X1,X2,X3) = 2.X1 + 2 6.24/6.65 [U142](X1,X2,X3) = 2.X1 + 2 6.24/6.65 [U151](X1,X2,X3) = 2.X1 + 1 6.24/6.65 [U152](X1,X2,X3) = 1 6.24/6.65 [U161](X1,X2) = 0 6.24/6.65 [U171](X1,X2,X3) = 0 6.24/6.65 [U172](X1,X2,X3) = 0 6.24/6.65 [U181](X1,X2) = 0 6.24/6.65 [U191](X1,X2,X3) = 0 6.24/6.65 [U192](X1,X2,X3) = 0 6.24/6.65 [U21](X1,X2) = 2.X1 + 2 6.24/6.65 [U22](X) = 1 6.24/6.65 [U31](X) = 2.X 6.24/6.65 [U41](X) = 2.X 6.24/6.65 [U51](X1,X2) = 2.X1 6.24/6.65 [U52](X) = 0 6.24/6.65 [U61](X1,X2) = 2.X1 6.24/6.65 [U62](X) = 2.X 6.24/6.65 [U71](X) = 0 6.24/6.65 [U81](X) = 0 6.24/6.65 [U91](X) = 0 6.24/6.65 [isBag](X) = 2.X + 2 6.24/6.65 [isBin](X) = 0 6.24/6.65 [mult](X1,X2) = X1 + X2 + 1 6.24/6.65 [plus](X1,X2) = X1 + X2 + 1 6.24/6.65 [prod](X) = X + 2 6.24/6.65 [sum](X) = 2 6.24/6.65 [union](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.65 [1](X) = 2 6.24/6.65 [empty] = 1 6.24/6.65 [singl](X) = 2.X + 2 6.24/6.65 [tt] = 0 6.24/6.65 [z] = 0 6.24/6.65 [0#](X) = 0 6.24/6.65 [U101#](X1,X2,X3) = 0 6.24/6.65 [U102#](X1,X2,X3) = 0 6.24/6.65 [U11#](X) = 0 6.24/6.65 [U111#](X1,X2,X3) = 0 6.24/6.65 [U112#](X1,X2,X3) = 0 6.24/6.65 [U121#](X1,X2) = 0 6.24/6.65 [U131#](X1,X2,X3) = 0 6.24/6.65 [U132#](X1,X2,X3) = 0 6.24/6.65 [U141#](X1,X2,X3) = 0 6.24/6.65 [U142#](X1,X2,X3) = 0 6.24/6.65 [U151#](X1,X2,X3) = 0 6.24/6.65 [U152#](X1,X2,X3) = 0 6.24/6.65 [U161#](X1,X2) = 0 6.24/6.65 [U171#](X1,X2,X3) = 0 6.24/6.65 [U172#](X1,X2,X3) = 0 6.24/6.65 [U181#](X1,X2) = 0 6.24/6.65 [U191#](X1,X2,X3) = 0 6.24/6.65 [U192#](X1,X2,X3) = 0 6.24/6.65 [U21#](X1,X2) = 0 6.24/6.65 [U22#](X) = 0 6.24/6.65 [U31#](X) = 0 6.24/6.65 [U41#](X) = 0 6.24/6.65 [U51#](X1,X2) = 0 6.24/6.65 [U52#](X) = 0 6.24/6.65 [U61#](X1,X2) = 0 6.24/6.65 [U62#](X) = 0 6.24/6.65 [U71#](X) = 0 6.24/6.65 [U81#](X) = 0 6.24/6.65 [U91#](X) = 0 6.24/6.65 [ISBAG](X) = 0 6.24/6.65 [ISBIN](X) = 0 6.24/6.65 [MULT](X1,X2) = 2.X1 + 2.X2 6.24/6.65 [PLUS](X1,X2) = 0 6.24/6.65 [PROD](X) = 0 6.24/6.65 [SUM](X) = 0 6.24/6.65 [UNION](X1,X2) = 0 6.24/6.65 6.24/6.65 Problem 1.5: 6.24/6.65 6.24/6.65 SCC Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 MULT(mult(x6,x7),x8) = MULT(x6,mult(x7,x8)) 6.24/6.65 MULT(x6,x7) = MULT(x7,x6) 6.24/6.65 -> Pairs: 6.24/6.65 Empty 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.65 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.65 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.65 U121(tt,X) -> X 6.24/6.65 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.65 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.65 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.65 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.65 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.65 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.65 U161(tt,X) -> X 6.24/6.65 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.65 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.65 U181(tt,X) -> X 6.24/6.65 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.65 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.65 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.65 U22(tt) -> tt 6.24/6.65 U31(tt) -> tt 6.24/6.65 U41(tt) -> tt 6.24/6.65 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.65 U52(tt) -> tt 6.24/6.65 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.65 U62(tt) -> tt 6.24/6.65 U71(tt) -> tt 6.24/6.65 U81(tt) -> tt 6.24/6.65 U91(tt) -> z 6.24/6.65 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.65 isBag(empty) -> tt 6.24/6.65 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.65 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.65 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.65 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.65 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.65 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.65 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.65 isBin(z) -> tt 6.24/6.65 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.65 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.65 mult(z,X) -> U91(isBin(X)) 6.24/6.65 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.65 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.65 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.65 plus(z,X) -> U121(isBin(X),X) 6.24/6.65 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.65 prod(empty) -> 1(z) 6.24/6.65 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.65 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.65 sum(empty) -> 0(z) 6.24/6.65 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.65 union(empty,X) -> X 6.24/6.65 union(X,empty) -> X 6.24/6.65 -> SRules: 6.24/6.65 MULT(mult(x6,x7),x8) -> MULT(x6,x7) 6.24/6.65 MULT(x6,mult(x7,x8)) -> MULT(x7,x8) 6.24/6.65 ->Strongly Connected Components: 6.24/6.65 There is no strongly connected component 6.24/6.65 6.24/6.65 The problem is finite. 6.24/6.65 6.24/6.65 Problem 1.6: 6.24/6.65 6.24/6.65 Reduction Pairs Processor: 6.24/6.65 -> FAxioms: 6.24/6.65 Empty 6.24/6.65 -> Pairs: 6.24/6.65 U171#(tt,A,B) -> U172#(isBag(B),A,B) 6.24/6.65 U172#(tt,A,B) -> PROD(A) 6.24/6.65 U172#(tt,A,B) -> PROD(B) 6.24/6.65 PROD(union(A,B)) -> U171#(isBag(A),A,B) 6.24/6.65 -> EAxioms: 6.24/6.65 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.65 mult(x6,x7) = mult(x7,x6) 6.24/6.65 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.65 plus(x6,x7) = plus(x7,x6) 6.24/6.65 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.65 union(x6,x7) = union(x7,x6) 6.24/6.65 -> Usable Equations: 6.24/6.65 Empty 6.24/6.65 -> Rules: 6.24/6.65 0(z) -> z 6.24/6.65 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.65 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.65 U11(tt) -> tt 6.24/6.66 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.66 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.66 U121(tt,X) -> X 6.24/6.66 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.66 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.66 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.66 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.66 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.66 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.66 U161(tt,X) -> X 6.24/6.66 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.66 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.66 U181(tt,X) -> X 6.24/6.66 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.66 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.66 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.66 U22(tt) -> tt 6.24/6.66 U31(tt) -> tt 6.24/6.66 U41(tt) -> tt 6.24/6.66 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.66 U52(tt) -> tt 6.24/6.66 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.66 U62(tt) -> tt 6.24/6.66 U71(tt) -> tt 6.24/6.66 U81(tt) -> tt 6.24/6.66 U91(tt) -> z 6.24/6.66 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.66 isBag(empty) -> tt 6.24/6.66 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.66 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.66 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.66 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.66 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.66 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.66 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.66 isBin(z) -> tt 6.24/6.66 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.66 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.66 mult(z,X) -> U91(isBin(X)) 6.24/6.66 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.66 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.66 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.66 plus(z,X) -> U121(isBin(X),X) 6.24/6.66 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.66 prod(empty) -> 1(z) 6.24/6.66 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.66 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.66 sum(empty) -> 0(z) 6.24/6.66 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.66 union(empty,X) -> X 6.24/6.66 union(X,empty) -> X 6.24/6.66 -> Usable Rules: 6.24/6.66 U11(tt) -> tt 6.24/6.66 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.66 U22(tt) -> tt 6.24/6.66 U31(tt) -> tt 6.24/6.66 U41(tt) -> tt 6.24/6.66 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.66 U52(tt) -> tt 6.24/6.66 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.66 U62(tt) -> tt 6.24/6.66 U71(tt) -> tt 6.24/6.66 U81(tt) -> tt 6.24/6.66 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.66 isBag(empty) -> tt 6.24/6.66 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.66 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.66 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.66 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.66 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.66 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.66 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.66 isBin(z) -> tt 6.24/6.66 -> SRules: 6.24/6.66 Empty 6.24/6.66 ->Interpretation type: 6.24/6.66 Linear 6.24/6.66 ->Coefficients: 6.24/6.66 Natural Numbers 6.24/6.66 ->Dimension: 6.24/6.66 1 6.24/6.66 ->Bound: 6.24/6.66 2 6.24/6.66 ->Interpretation: 6.24/6.66 6.24/6.66 [0](X) = 2.X + 2 6.24/6.66 [U101](X1,X2,X3) = 0 6.24/6.66 [U102](X1,X2,X3) = 0 6.24/6.66 [U11](X) = 2 6.24/6.66 [U111](X1,X2,X3) = 0 6.24/6.66 [U112](X1,X2,X3) = 0 6.24/6.66 [U121](X1,X2) = 0 6.24/6.66 [U131](X1,X2,X3) = 0 6.24/6.66 [U132](X1,X2,X3) = 0 6.24/6.66 [U141](X1,X2,X3) = 0 6.24/6.66 [U142](X1,X2,X3) = 0 6.24/6.66 [U151](X1,X2,X3) = 0 6.24/6.66 [U152](X1,X2,X3) = 0 6.24/6.66 [U161](X1,X2) = 0 6.24/6.66 [U171](X1,X2,X3) = 0 6.24/6.66 [U172](X1,X2,X3) = 0 6.24/6.66 [U181](X1,X2) = 0 6.24/6.66 [U191](X1,X2,X3) = 0 6.24/6.66 [U192](X1,X2,X3) = 0 6.24/6.66 [U21](X1,X2) = 2.X1 6.24/6.66 [U22](X) = 2 6.24/6.66 [U31](X) = 2.X + 1 6.24/6.66 [U41](X) = 2.X + 2 6.24/6.66 [U51](X1,X2) = X1 + 2.X2 + 2 6.24/6.66 [U52](X) = X 6.24/6.66 [U61](X1,X2) = 2.X1 + 2 6.24/6.66 [U62](X) = 2 6.24/6.66 [U71](X) = 2.X + 2 6.24/6.66 [U81](X) = 2 6.24/6.66 [U91](X) = 0 6.24/6.66 [isBag](X) = 2.X + 2 6.24/6.66 [isBin](X) = 2.X + 2 6.24/6.66 [mult](X1,X2) = X1 + 2.X2 + 1 6.24/6.66 [plus](X1,X2) = 2.X1 + 2 6.24/6.66 [prod](X) = 2.X + 2 6.24/6.66 [sum](X) = 2 6.24/6.66 [union](X1,X2) = 2.X1 + 2.X2 + 2 6.24/6.66 [1](X) = 2.X + 2 6.24/6.66 [empty] = 2 6.24/6.66 [singl](X) = X 6.24/6.66 [tt] = 2 6.24/6.66 [z] = 0 6.24/6.66 [0#](X) = 0 6.24/6.66 [U101#](X1,X2,X3) = 0 6.24/6.66 [U102#](X1,X2,X3) = 0 6.24/6.66 [U11#](X) = 0 6.24/6.66 [U111#](X1,X2,X3) = 0 6.24/6.66 [U112#](X1,X2,X3) = 0 6.24/6.66 [U121#](X1,X2) = 0 6.24/6.66 [U131#](X1,X2,X3) = 0 6.24/6.66 [U132#](X1,X2,X3) = 0 6.24/6.66 [U141#](X1,X2,X3) = 0 6.24/6.66 [U142#](X1,X2,X3) = 0 6.24/6.66 [U151#](X1,X2,X3) = 0 6.24/6.66 [U152#](X1,X2,X3) = 0 6.24/6.66 [U161#](X1,X2) = 0 6.24/6.66 [U171#](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 6.24/6.66 [U172#](X1,X2,X3) = 2.X2 + 2.X3 + 2 6.24/6.66 [U181#](X1,X2) = 0 6.24/6.66 [U191#](X1,X2,X3) = 0 6.24/6.66 [U192#](X1,X2,X3) = 0 6.24/6.66 [U21#](X1,X2) = 0 6.24/6.66 [U22#](X) = 0 6.24/6.66 [U31#](X) = 0 6.24/6.66 [U41#](X) = 0 6.24/6.66 [U51#](X1,X2) = 0 6.24/6.66 [U52#](X) = 0 6.24/6.66 [U61#](X1,X2) = 0 6.24/6.66 [U62#](X) = 0 6.24/6.66 [U71#](X) = 0 6.24/6.66 [U81#](X) = 0 6.24/6.66 [U91#](X) = 0 6.24/6.66 [ISBAG](X) = 0 6.24/6.66 [ISBIN](X) = 0 6.24/6.66 [MULT](X1,X2) = 0 6.24/6.66 [PLUS](X1,X2) = 0 6.24/6.66 [PROD](X) = 2.X + 2 6.24/6.66 [SUM](X) = 0 6.24/6.66 [UNION](X1,X2) = 0 6.24/6.66 6.24/6.66 Problem 1.6: 6.24/6.66 6.24/6.66 SCC Processor: 6.24/6.66 -> FAxioms: 6.24/6.66 Empty 6.24/6.66 -> Pairs: 6.24/6.66 U172#(tt,A,B) -> PROD(A) 6.24/6.66 U172#(tt,A,B) -> PROD(B) 6.24/6.66 PROD(union(A,B)) -> U171#(isBag(A),A,B) 6.24/6.66 -> EAxioms: 6.24/6.66 mult(mult(x6,x7),x8) = mult(x6,mult(x7,x8)) 6.24/6.66 mult(x6,x7) = mult(x7,x6) 6.24/6.66 plus(plus(x6,x7),x8) = plus(x6,plus(x7,x8)) 6.24/6.66 plus(x6,x7) = plus(x7,x6) 6.24/6.66 union(union(x6,x7),x8) = union(x6,union(x7,x8)) 6.24/6.66 union(x6,x7) = union(x7,x6) 6.24/6.66 -> Rules: 6.24/6.66 0(z) -> z 6.24/6.66 U101(tt,X,Y) -> U102(isBin(Y),X,Y) 6.24/6.66 U102(tt,X,Y) -> 0(mult(X,Y)) 6.24/6.66 U11(tt) -> tt 6.24/6.66 U111(tt,X,Y) -> U112(isBin(Y),X,Y) 6.24/6.66 U112(tt,X,Y) -> plus(0(mult(X,Y)),Y) 6.24/6.66 U121(tt,X) -> X 6.24/6.66 U131(tt,X,Y) -> U132(isBin(Y),X,Y) 6.24/6.66 U132(tt,X,Y) -> 0(plus(X,Y)) 6.24/6.66 U141(tt,X,Y) -> U142(isBin(Y),X,Y) 6.24/6.66 U142(tt,X,Y) -> 1(plus(X,Y)) 6.24/6.66 U151(tt,X,Y) -> U152(isBin(Y),X,Y) 6.24/6.66 U152(tt,X,Y) -> 0(plus(plus(X,Y),1(z))) 6.24/6.66 U161(tt,X) -> X 6.24/6.66 U171(tt,A,B) -> U172(isBag(B),A,B) 6.24/6.66 U172(tt,A,B) -> mult(prod(A),prod(B)) 6.24/6.66 U181(tt,X) -> X 6.24/6.66 U191(tt,A,B) -> U192(isBag(B),A,B) 6.24/6.66 U192(tt,A,B) -> plus(sum(A),sum(B)) 6.24/6.66 U21(tt,V2) -> U22(isBag(V2)) 6.24/6.66 U22(tt) -> tt 6.24/6.66 U31(tt) -> tt 6.24/6.66 U41(tt) -> tt 6.24/6.66 U51(tt,V2) -> U52(isBin(V2)) 6.24/6.66 U52(tt) -> tt 6.24/6.66 U61(tt,V2) -> U62(isBin(V2)) 6.24/6.66 U62(tt) -> tt 6.24/6.66 U71(tt) -> tt 6.24/6.66 U81(tt) -> tt 6.24/6.66 U91(tt) -> z 6.24/6.66 isBag(union(V1,V2)) -> U21(isBag(V1),V2) 6.24/6.66 isBag(empty) -> tt 6.24/6.66 isBag(singl(V1)) -> U11(isBin(V1)) 6.24/6.66 isBin(0(V1)) -> U31(isBin(V1)) 6.24/6.66 isBin(mult(V1,V2)) -> U51(isBin(V1),V2) 6.24/6.66 isBin(plus(V1,V2)) -> U61(isBin(V1),V2) 6.24/6.66 isBin(prod(V1)) -> U71(isBag(V1)) 6.24/6.66 isBin(sum(V1)) -> U81(isBag(V1)) 6.24/6.66 isBin(1(V1)) -> U41(isBin(V1)) 6.24/6.66 isBin(z) -> tt 6.24/6.66 mult(0(X),Y) -> U101(isBin(X),X,Y) 6.24/6.66 mult(1(X),Y) -> U111(isBin(X),X,Y) 6.24/6.66 mult(z,X) -> U91(isBin(X)) 6.24/6.66 plus(0(X),0(Y)) -> U131(isBin(X),X,Y) 6.24/6.66 plus(0(X),1(Y)) -> U141(isBin(X),X,Y) 6.24/6.66 plus(1(X),1(Y)) -> U151(isBin(X),X,Y) 6.24/6.66 plus(z,X) -> U121(isBin(X),X) 6.24/6.66 prod(union(A,B)) -> U171(isBag(A),A,B) 6.24/6.66 prod(empty) -> 1(z) 6.24/6.66 prod(singl(X)) -> U161(isBin(X),X) 6.24/6.66 sum(union(A,B)) -> U191(isBag(A),A,B) 6.24/6.66 sum(empty) -> 0(z) 6.24/6.66 sum(singl(X)) -> U181(isBin(X),X) 6.24/6.66 union(empty,X) -> X 6.24/6.66 union(X,empty) -> X 6.24/6.66 -> SRules: 6.24/6.66 Empty 6.24/6.66 ->Strongly Connected Components: 6.24/6.66 There is no strongly connected component 6.24/6.66 6.24/6.66 The problem is finite. 6.24/6.66 EOF