140.19/117.20 YES 140.48/117.30 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 140.48/117.30 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 140.48/117.30 140.48/117.30 140.48/117.30 Termination of the given ETRS could be proven: 140.48/117.30 140.48/117.30 (0) ETRS 140.48/117.30 (1) EquationalDependencyPairsProof [EQUIVALENT, 98 ms] 140.48/117.30 (2) EDP 140.48/117.30 (3) EDependencyGraphProof [EQUIVALENT, 2 ms] 140.48/117.30 (4) AND 140.48/117.30 (5) EDP 140.48/117.30 (6) ESharpUsableEquationsProof [EQUIVALENT, 0 ms] 140.48/117.30 (7) EDP 140.48/117.30 (8) EUsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 140.48/117.30 (9) EDP 140.48/117.30 (10) PisEmptyProof [EQUIVALENT, 0 ms] 140.48/117.30 (11) YES 140.48/117.30 (12) EDP 140.48/117.30 (13) ESharpUsableEquationsProof [EQUIVALENT, 1 ms] 140.48/117.30 (14) EDP 140.48/117.30 (15) EUsableRulesReductionPairsProof [EQUIVALENT, 68 ms] 140.48/117.30 (16) EDP 140.48/117.30 (17) EDependencyGraphProof [EQUIVALENT, 0 ms] 140.48/117.30 (18) TRUE 140.48/117.30 (19) EDP 140.48/117.30 (20) ESharpUsableEquationsProof [EQUIVALENT, 8 ms] 140.48/117.30 (21) EDP 140.48/117.30 (22) EDPPoloProof [EQUIVALENT, 451 ms] 140.48/117.30 (23) EDP 140.48/117.30 (24) EDependencyGraphProof [EQUIVALENT, 0 ms] 140.48/117.30 (25) EDP 140.48/117.30 (26) EDPPoloProof [EQUIVALENT, 241 ms] 140.48/117.30 (27) EDP 140.48/117.30 (28) PisEmptyProof [EQUIVALENT, 0 ms] 140.48/117.30 (29) YES 140.48/117.30 (30) EDP 140.48/117.30 (31) ESharpUsableEquationsProof [EQUIVALENT, 0 ms] 140.48/117.30 (32) EDP 140.48/117.30 (33) EUsableRulesReductionPairsProof [EQUIVALENT, 22 ms] 140.48/117.30 (34) EDP 140.48/117.30 (35) EDependencyGraphProof [EQUIVALENT, 0 ms] 140.48/117.30 (36) TRUE 140.48/117.30 (37) EDP 140.48/117.30 (38) ESharpUsableEquationsProof [EQUIVALENT, 0 ms] 140.48/117.30 (39) EDP 140.48/117.30 (40) EDPPoloProof [EQUIVALENT, 58.2 s] 140.48/117.30 (41) EDP 140.48/117.30 (42) EDependencyGraphProof [EQUIVALENT, 0 ms] 140.48/117.30 (43) EDP 140.48/117.30 (44) EDPPoloProof [EQUIVALENT, 47.2 s] 140.48/117.30 (45) EDP 140.48/117.30 (46) EDependencyGraphProof [EQUIVALENT, 0 ms] 140.48/117.30 (47) EDP 140.48/117.30 (48) EDPPoloProof [EQUIVALENT, 315 ms] 140.48/117.30 (49) EDP 140.48/117.30 (50) EDPPoloProof [EQUIVALENT, 288 ms] 140.48/117.30 (51) EDP 140.48/117.30 (52) PisEmptyProof [EQUIVALENT, 0 ms] 140.48/117.30 (53) YES 140.48/117.30 (54) EDP 140.48/117.30 (55) ESharpUsableEquationsProof [EQUIVALENT, 0 ms] 140.48/117.30 (56) EDP 140.48/117.30 (57) EUsableRulesReductionPairsProof [EQUIVALENT, 9 ms] 140.48/117.30 (58) EDP 140.48/117.30 (59) EDependencyGraphProof [EQUIVALENT, 0 ms] 140.48/117.30 (60) TRUE 140.48/117.30 140.48/117.30 140.48/117.30 ---------------------------------------- 140.48/117.30 140.48/117.30 (0) 140.48/117.30 Obligation: 140.48/117.30 Equational rewrite system: 140.48/117.30 The TRS R consists of the following rules: 140.48/117.30 140.48/117.30 union(X, empty) -> X 140.48/117.30 union(empty, X) -> X 140.48/117.30 0(z) -> z 140.48/117.30 U101(tt, X, Y) -> 0(mult(X, Y)) 140.48/117.30 U11(tt, V1) -> U12(isBin(V1)) 140.48/117.30 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.48/117.30 U12(tt) -> tt 140.48/117.30 U121(tt, X) -> X 140.48/117.30 U131(tt, X, Y) -> 0(plus(X, Y)) 140.48/117.30 U141(tt, X, Y) -> 1(plus(X, Y)) 140.48/117.30 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.48/117.30 U161(tt, X) -> X 140.48/117.30 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.48/117.30 U181(tt, X) -> X 140.48/117.30 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.48/117.30 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.48/117.30 U22(tt, V2) -> U23(isBag(V2)) 140.48/117.30 U23(tt) -> tt 140.48/117.30 U31(tt, V1) -> U32(isBin(V1)) 140.48/117.30 U32(tt) -> tt 140.48/117.30 U41(tt, V1) -> U42(isBin(V1)) 140.48/117.30 U42(tt) -> tt 140.48/117.30 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.48/117.30 U52(tt, V2) -> U53(isBin(V2)) 140.48/117.30 U53(tt) -> tt 140.48/117.30 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.48/117.30 U62(tt, V2) -> U63(isBin(V2)) 140.48/117.30 U63(tt) -> tt 140.48/117.30 U71(tt, V1) -> U72(isBag(V1)) 140.48/117.30 U72(tt) -> tt 140.48/117.30 U81(tt, V1) -> U82(isBag(V1)) 140.48/117.30 U82(tt) -> tt 140.48/117.30 U91(tt) -> z 140.48/117.30 and(tt, X) -> X 140.48/117.30 isBag(empty) -> tt 140.48/117.30 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.48/117.30 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.48/117.30 isBagKind(empty) -> tt 140.48/117.30 isBagKind(singl(V1)) -> isBinKind(V1) 140.48/117.30 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.48/117.30 isBin(z) -> tt 140.48/117.30 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.48/117.30 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.48/117.30 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.48/117.30 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.48/117.30 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.48/117.30 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.48/117.30 isBinKind(z) -> tt 140.48/117.30 isBinKind(0(V1)) -> isBinKind(V1) 140.48/117.30 isBinKind(1(V1)) -> isBinKind(V1) 140.48/117.30 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.48/117.30 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.48/117.30 isBinKind(prod(V1)) -> isBagKind(V1) 140.48/117.30 isBinKind(sum(V1)) -> isBagKind(V1) 140.48/117.30 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.48/117.30 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.48/117.30 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 prod(empty) -> 1(z) 140.48/117.30 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.48/117.30 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.48/117.30 sum(empty) -> 0(z) 140.48/117.30 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.48/117.30 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.48/117.30 140.48/117.30 The set E consists of the following equations: 140.48/117.30 140.48/117.30 mult(x, y) == mult(y, x) 140.48/117.30 plus(x, y) == plus(y, x) 140.48/117.30 union(x, y) == union(y, x) 140.48/117.30 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.48/117.30 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.48/117.30 union(union(x, y), z') == union(x, union(y, z')) 140.48/117.30 140.48/117.30 140.48/117.30 ---------------------------------------- 140.48/117.30 140.48/117.30 (1) EquationalDependencyPairsProof (EQUIVALENT) 140.48/117.30 Using Dependency Pairs [AG00,DA_STEIN] we result in the following initial EDP problem: 140.48/117.30 The TRS P consists of the following rules: 140.48/117.30 140.48/117.30 U101^1(tt, X, Y) -> 0^1(mult(X, Y)) 140.48/117.30 U101^1(tt, X, Y) -> MULT(X, Y) 140.48/117.30 U11^1(tt, V1) -> U12^1(isBin(V1)) 140.48/117.30 U11^1(tt, V1) -> ISBIN(V1) 140.48/117.30 U111^1(tt, X, Y) -> PLUS(0(mult(X, Y)), Y) 140.48/117.30 U111^1(tt, X, Y) -> 0^1(mult(X, Y)) 140.48/117.30 U111^1(tt, X, Y) -> MULT(X, Y) 140.48/117.30 U131^1(tt, X, Y) -> 0^1(plus(X, Y)) 140.48/117.30 U131^1(tt, X, Y) -> PLUS(X, Y) 140.48/117.30 U141^1(tt, X, Y) -> PLUS(X, Y) 140.48/117.30 U151^1(tt, X, Y) -> 0^1(plus(plus(X, Y), 1(z))) 140.48/117.30 U151^1(tt, X, Y) -> PLUS(plus(X, Y), 1(z)) 140.48/117.30 U151^1(tt, X, Y) -> PLUS(X, Y) 140.48/117.30 U171^1(tt, A, B) -> MULT(prod(A), prod(B)) 140.48/117.30 U171^1(tt, A, B) -> PROD(A) 140.48/117.30 U171^1(tt, A, B) -> PROD(B) 140.48/117.30 U191^1(tt, A, B) -> PLUS(sum(A), sum(B)) 140.48/117.30 U191^1(tt, A, B) -> SUM(A) 140.48/117.30 U191^1(tt, A, B) -> SUM(B) 140.48/117.30 U21^1(tt, V1, V2) -> U22^1(isBag(V1), V2) 140.48/117.30 U21^1(tt, V1, V2) -> ISBAG(V1) 140.48/117.30 U22^1(tt, V2) -> U23^1(isBag(V2)) 140.48/117.30 U22^1(tt, V2) -> ISBAG(V2) 140.48/117.30 U31^1(tt, V1) -> U32^1(isBin(V1)) 140.48/117.30 U31^1(tt, V1) -> ISBIN(V1) 140.48/117.30 U41^1(tt, V1) -> U42^1(isBin(V1)) 140.48/117.30 U41^1(tt, V1) -> ISBIN(V1) 140.48/117.30 U51^1(tt, V1, V2) -> U52^1(isBin(V1), V2) 140.48/117.30 U51^1(tt, V1, V2) -> ISBIN(V1) 140.48/117.30 U52^1(tt, V2) -> U53^1(isBin(V2)) 140.48/117.30 U52^1(tt, V2) -> ISBIN(V2) 140.48/117.30 U61^1(tt, V1, V2) -> U62^1(isBin(V1), V2) 140.48/117.30 U61^1(tt, V1, V2) -> ISBIN(V1) 140.48/117.30 U62^1(tt, V2) -> U63^1(isBin(V2)) 140.48/117.30 U62^1(tt, V2) -> ISBIN(V2) 140.48/117.30 U71^1(tt, V1) -> U72^1(isBag(V1)) 140.48/117.30 U71^1(tt, V1) -> ISBAG(V1) 140.48/117.30 U81^1(tt, V1) -> U82^1(isBag(V1)) 140.48/117.30 U81^1(tt, V1) -> ISBAG(V1) 140.48/117.30 ISBAG(singl(V1)) -> U11^1(isBinKind(V1), V1) 140.48/117.30 ISBAG(singl(V1)) -> ISBINKIND(V1) 140.48/117.30 ISBAG(union(V1, V2)) -> U21^1(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.48/117.30 ISBAG(union(V1, V2)) -> AND(isBagKind(V1), isBagKind(V2)) 140.48/117.30 ISBAG(union(V1, V2)) -> ISBAGKIND(V1) 140.48/117.30 ISBAG(union(V1, V2)) -> ISBAGKIND(V2) 140.48/117.30 ISBAGKIND(singl(V1)) -> ISBINKIND(V1) 140.48/117.30 ISBAGKIND(union(V1, V2)) -> AND(isBagKind(V1), isBagKind(V2)) 140.48/117.30 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V1) 140.48/117.30 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V2) 140.48/117.30 ISBIN(0(V1)) -> U31^1(isBinKind(V1), V1) 140.48/117.30 ISBIN(0(V1)) -> ISBINKIND(V1) 140.48/117.30 ISBIN(1(V1)) -> U41^1(isBinKind(V1), V1) 140.48/117.30 ISBIN(1(V1)) -> ISBINKIND(V1) 140.48/117.30 ISBIN(mult(V1, V2)) -> U51^1(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.48/117.30 ISBIN(mult(V1, V2)) -> AND(isBinKind(V1), isBinKind(V2)) 140.48/117.30 ISBIN(mult(V1, V2)) -> ISBINKIND(V1) 140.48/117.30 ISBIN(mult(V1, V2)) -> ISBINKIND(V2) 140.48/117.30 ISBIN(plus(V1, V2)) -> U61^1(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.48/117.30 ISBIN(plus(V1, V2)) -> AND(isBinKind(V1), isBinKind(V2)) 140.48/117.30 ISBIN(plus(V1, V2)) -> ISBINKIND(V1) 140.48/117.30 ISBIN(plus(V1, V2)) -> ISBINKIND(V2) 140.48/117.30 ISBIN(prod(V1)) -> U71^1(isBagKind(V1), V1) 140.48/117.30 ISBIN(prod(V1)) -> ISBAGKIND(V1) 140.48/117.30 ISBIN(sum(V1)) -> U81^1(isBagKind(V1), V1) 140.48/117.30 ISBIN(sum(V1)) -> ISBAGKIND(V1) 140.48/117.30 ISBINKIND(0(V1)) -> ISBINKIND(V1) 140.48/117.30 ISBINKIND(1(V1)) -> ISBINKIND(V1) 140.48/117.30 ISBINKIND(mult(V1, V2)) -> AND(isBinKind(V1), isBinKind(V2)) 140.48/117.30 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V1) 140.48/117.30 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V2) 140.48/117.30 ISBINKIND(plus(V1, V2)) -> AND(isBinKind(V1), isBinKind(V2)) 140.48/117.30 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V1) 140.48/117.30 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V2) 140.48/117.30 ISBINKIND(prod(V1)) -> ISBAGKIND(V1) 140.48/117.30 ISBINKIND(sum(V1)) -> ISBAGKIND(V1) 140.48/117.30 MULT(z, X) -> U91^1(and(isBin(X), isBinKind(X))) 140.48/117.30 MULT(z, X) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 MULT(z, X) -> ISBIN(X) 140.48/117.30 MULT(z, X) -> ISBINKIND(X) 140.48/117.30 MULT(0(X), Y) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 MULT(0(X), Y) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 MULT(0(X), Y) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 MULT(0(X), Y) -> ISBIN(X) 140.48/117.30 MULT(0(X), Y) -> ISBINKIND(X) 140.48/117.30 MULT(0(X), Y) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 MULT(0(X), Y) -> ISBIN(Y) 140.48/117.30 MULT(0(X), Y) -> ISBINKIND(Y) 140.48/117.30 MULT(1(X), Y) -> U111^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 MULT(1(X), Y) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 MULT(1(X), Y) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 MULT(1(X), Y) -> ISBIN(X) 140.48/117.30 MULT(1(X), Y) -> ISBINKIND(X) 140.48/117.30 MULT(1(X), Y) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 MULT(1(X), Y) -> ISBIN(Y) 140.48/117.30 MULT(1(X), Y) -> ISBINKIND(Y) 140.48/117.30 PLUS(z, X) -> U121^1(and(isBin(X), isBinKind(X)), X) 140.48/117.30 PLUS(z, X) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(z, X) -> ISBIN(X) 140.48/117.30 PLUS(z, X) -> ISBINKIND(X) 140.48/117.30 PLUS(0(X), 0(Y)) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 PLUS(0(X), 0(Y)) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 PLUS(0(X), 0(Y)) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(0(X), 0(Y)) -> ISBIN(X) 140.48/117.30 PLUS(0(X), 0(Y)) -> ISBINKIND(X) 140.48/117.30 PLUS(0(X), 0(Y)) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 PLUS(0(X), 0(Y)) -> ISBIN(Y) 140.48/117.30 PLUS(0(X), 0(Y)) -> ISBINKIND(Y) 140.48/117.30 PLUS(0(X), 1(Y)) -> U141^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 PLUS(0(X), 1(Y)) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 PLUS(0(X), 1(Y)) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(0(X), 1(Y)) -> ISBIN(X) 140.48/117.30 PLUS(0(X), 1(Y)) -> ISBINKIND(X) 140.48/117.30 PLUS(0(X), 1(Y)) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 PLUS(0(X), 1(Y)) -> ISBIN(Y) 140.48/117.30 PLUS(0(X), 1(Y)) -> ISBINKIND(Y) 140.48/117.30 PLUS(1(X), 1(Y)) -> U151^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 PLUS(1(X), 1(Y)) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 PLUS(1(X), 1(Y)) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(1(X), 1(Y)) -> ISBIN(X) 140.48/117.30 PLUS(1(X), 1(Y)) -> ISBINKIND(X) 140.48/117.30 PLUS(1(X), 1(Y)) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 PLUS(1(X), 1(Y)) -> ISBIN(Y) 140.48/117.30 PLUS(1(X), 1(Y)) -> ISBINKIND(Y) 140.48/117.30 PROD(singl(X)) -> U161^1(and(isBin(X), isBinKind(X)), X) 140.48/117.30 PROD(singl(X)) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PROD(singl(X)) -> ISBIN(X) 140.48/117.30 PROD(singl(X)) -> ISBINKIND(X) 140.48/117.30 PROD(union(A, B)) -> U171^1(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.48/117.30 PROD(union(A, B)) -> AND(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))) 140.48/117.30 PROD(union(A, B)) -> AND(isBag(A), isBagKind(A)) 140.48/117.30 PROD(union(A, B)) -> ISBAG(A) 140.48/117.30 PROD(union(A, B)) -> ISBAGKIND(A) 140.48/117.30 PROD(union(A, B)) -> AND(isBag(B), isBagKind(B)) 140.48/117.30 PROD(union(A, B)) -> ISBAG(B) 140.48/117.30 PROD(union(A, B)) -> ISBAGKIND(B) 140.48/117.30 SUM(empty) -> 0^1(z) 140.48/117.30 SUM(singl(X)) -> U181^1(and(isBin(X), isBinKind(X)), X) 140.48/117.30 SUM(singl(X)) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 SUM(singl(X)) -> ISBIN(X) 140.48/117.30 SUM(singl(X)) -> ISBINKIND(X) 140.48/117.30 SUM(union(A, B)) -> U191^1(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.48/117.30 SUM(union(A, B)) -> AND(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))) 140.48/117.30 SUM(union(A, B)) -> AND(isBag(A), isBagKind(A)) 140.48/117.30 SUM(union(A, B)) -> ISBAG(A) 140.48/117.30 SUM(union(A, B)) -> ISBAGKIND(A) 140.48/117.30 SUM(union(A, B)) -> AND(isBag(B), isBagKind(B)) 140.48/117.30 SUM(union(A, B)) -> ISBAG(B) 140.48/117.30 SUM(union(A, B)) -> ISBAGKIND(B) 140.48/117.30 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.48/117.30 MULT(mult(z, X), ext) -> U91^1(and(isBin(X), isBinKind(X))) 140.48/117.30 MULT(mult(z, X), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 MULT(mult(z, X), ext) -> ISBIN(X) 140.48/117.30 MULT(mult(z, X), ext) -> ISBINKIND(X) 140.48/117.30 MULT(mult(0(X), Y), ext) -> MULT(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 MULT(mult(0(X), Y), ext) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 MULT(mult(0(X), Y), ext) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 MULT(mult(0(X), Y), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 MULT(mult(0(X), Y), ext) -> ISBIN(X) 140.48/117.30 MULT(mult(0(X), Y), ext) -> ISBINKIND(X) 140.48/117.30 MULT(mult(0(X), Y), ext) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 MULT(mult(0(X), Y), ext) -> ISBIN(Y) 140.48/117.30 MULT(mult(0(X), Y), ext) -> ISBINKIND(Y) 140.48/117.30 MULT(mult(1(X), Y), ext) -> MULT(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 MULT(mult(1(X), Y), ext) -> U111^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 MULT(mult(1(X), Y), ext) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 MULT(mult(1(X), Y), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 MULT(mult(1(X), Y), ext) -> ISBIN(X) 140.48/117.30 MULT(mult(1(X), Y), ext) -> ISBINKIND(X) 140.48/117.30 MULT(mult(1(X), Y), ext) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 MULT(mult(1(X), Y), ext) -> ISBIN(Y) 140.48/117.30 MULT(mult(1(X), Y), ext) -> ISBINKIND(Y) 140.48/117.30 PLUS(plus(z, X), ext) -> PLUS(U121(and(isBin(X), isBinKind(X)), X), ext) 140.48/117.30 PLUS(plus(z, X), ext) -> U121^1(and(isBin(X), isBinKind(X)), X) 140.48/117.30 PLUS(plus(z, X), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(plus(z, X), ext) -> ISBIN(X) 140.48/117.30 PLUS(plus(z, X), ext) -> ISBINKIND(X) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> ISBIN(X) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> ISBINKIND(X) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> ISBIN(Y) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> ISBINKIND(Y) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> U141^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> ISBIN(X) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> ISBINKIND(X) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> ISBIN(Y) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> ISBINKIND(Y) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> U151^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> ISBIN(X) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> ISBINKIND(X) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> ISBIN(Y) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> ISBINKIND(Y) 140.48/117.30 140.48/117.30 The TRS R consists of the following rules: 140.48/117.30 140.48/117.30 union(X, empty) -> X 140.48/117.30 union(empty, X) -> X 140.48/117.30 0(z) -> z 140.48/117.30 U101(tt, X, Y) -> 0(mult(X, Y)) 140.48/117.30 U11(tt, V1) -> U12(isBin(V1)) 140.48/117.30 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.48/117.30 U12(tt) -> tt 140.48/117.30 U121(tt, X) -> X 140.48/117.30 U131(tt, X, Y) -> 0(plus(X, Y)) 140.48/117.30 U141(tt, X, Y) -> 1(plus(X, Y)) 140.48/117.30 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.48/117.30 U161(tt, X) -> X 140.48/117.30 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.48/117.30 U181(tt, X) -> X 140.48/117.30 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.48/117.30 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.48/117.30 U22(tt, V2) -> U23(isBag(V2)) 140.48/117.30 U23(tt) -> tt 140.48/117.30 U31(tt, V1) -> U32(isBin(V1)) 140.48/117.30 U32(tt) -> tt 140.48/117.30 U41(tt, V1) -> U42(isBin(V1)) 140.48/117.30 U42(tt) -> tt 140.48/117.30 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.48/117.30 U52(tt, V2) -> U53(isBin(V2)) 140.48/117.30 U53(tt) -> tt 140.48/117.30 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.48/117.30 U62(tt, V2) -> U63(isBin(V2)) 140.48/117.30 U63(tt) -> tt 140.48/117.30 U71(tt, V1) -> U72(isBag(V1)) 140.48/117.30 U72(tt) -> tt 140.48/117.30 U81(tt, V1) -> U82(isBag(V1)) 140.48/117.30 U82(tt) -> tt 140.48/117.30 U91(tt) -> z 140.48/117.30 and(tt, X) -> X 140.48/117.30 isBag(empty) -> tt 140.48/117.30 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.48/117.30 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.48/117.30 isBagKind(empty) -> tt 140.48/117.30 isBagKind(singl(V1)) -> isBinKind(V1) 140.48/117.30 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.48/117.30 isBin(z) -> tt 140.48/117.30 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.48/117.30 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.48/117.30 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.48/117.30 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.48/117.30 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.48/117.30 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.48/117.30 isBinKind(z) -> tt 140.48/117.30 isBinKind(0(V1)) -> isBinKind(V1) 140.48/117.30 isBinKind(1(V1)) -> isBinKind(V1) 140.48/117.30 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.48/117.30 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.48/117.30 isBinKind(prod(V1)) -> isBagKind(V1) 140.48/117.30 isBinKind(sum(V1)) -> isBagKind(V1) 140.48/117.30 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.48/117.30 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.48/117.30 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 prod(empty) -> 1(z) 140.48/117.30 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.48/117.30 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.48/117.30 sum(empty) -> 0(z) 140.48/117.30 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.48/117.30 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.48/117.30 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.48/117.30 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.48/117.30 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 140.48/117.30 The set E consists of the following equations: 140.48/117.30 140.48/117.30 mult(x, y) == mult(y, x) 140.48/117.30 plus(x, y) == plus(y, x) 140.48/117.30 union(x, y) == union(y, x) 140.48/117.30 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.48/117.30 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.48/117.30 union(union(x, y), z') == union(x, union(y, z')) 140.48/117.30 140.48/117.30 The set E# consists of the following equations: 140.48/117.30 140.48/117.30 MULT(x, y) == MULT(y, x) 140.48/117.30 PLUS(x, y) == PLUS(y, x) 140.48/117.30 UNION(x, y) == UNION(y, x) 140.48/117.30 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.48/117.30 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.48/117.30 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.48/117.30 140.48/117.30 We have to consider all minimal (P,E#,R,E)-chains 140.48/117.30 140.48/117.30 ---------------------------------------- 140.48/117.30 140.48/117.30 (2) 140.48/117.30 Obligation: 140.48/117.30 The TRS P consists of the following rules: 140.48/117.30 140.48/117.30 U101^1(tt, X, Y) -> 0^1(mult(X, Y)) 140.48/117.30 U101^1(tt, X, Y) -> MULT(X, Y) 140.48/117.30 U11^1(tt, V1) -> U12^1(isBin(V1)) 140.48/117.30 U11^1(tt, V1) -> ISBIN(V1) 140.48/117.30 U111^1(tt, X, Y) -> PLUS(0(mult(X, Y)), Y) 140.48/117.30 U111^1(tt, X, Y) -> 0^1(mult(X, Y)) 140.48/117.30 U111^1(tt, X, Y) -> MULT(X, Y) 140.48/117.30 U131^1(tt, X, Y) -> 0^1(plus(X, Y)) 140.48/117.30 U131^1(tt, X, Y) -> PLUS(X, Y) 140.48/117.30 U141^1(tt, X, Y) -> PLUS(X, Y) 140.48/117.30 U151^1(tt, X, Y) -> 0^1(plus(plus(X, Y), 1(z))) 140.48/117.30 U151^1(tt, X, Y) -> PLUS(plus(X, Y), 1(z)) 140.48/117.30 U151^1(tt, X, Y) -> PLUS(X, Y) 140.48/117.30 U171^1(tt, A, B) -> MULT(prod(A), prod(B)) 140.48/117.30 U171^1(tt, A, B) -> PROD(A) 140.48/117.30 U171^1(tt, A, B) -> PROD(B) 140.48/117.30 U191^1(tt, A, B) -> PLUS(sum(A), sum(B)) 140.48/117.30 U191^1(tt, A, B) -> SUM(A) 140.48/117.30 U191^1(tt, A, B) -> SUM(B) 140.48/117.30 U21^1(tt, V1, V2) -> U22^1(isBag(V1), V2) 140.48/117.30 U21^1(tt, V1, V2) -> ISBAG(V1) 140.48/117.30 U22^1(tt, V2) -> U23^1(isBag(V2)) 140.48/117.30 U22^1(tt, V2) -> ISBAG(V2) 140.48/117.30 U31^1(tt, V1) -> U32^1(isBin(V1)) 140.48/117.30 U31^1(tt, V1) -> ISBIN(V1) 140.48/117.30 U41^1(tt, V1) -> U42^1(isBin(V1)) 140.48/117.30 U41^1(tt, V1) -> ISBIN(V1) 140.48/117.30 U51^1(tt, V1, V2) -> U52^1(isBin(V1), V2) 140.48/117.30 U51^1(tt, V1, V2) -> ISBIN(V1) 140.48/117.30 U52^1(tt, V2) -> U53^1(isBin(V2)) 140.48/117.30 U52^1(tt, V2) -> ISBIN(V2) 140.48/117.30 U61^1(tt, V1, V2) -> U62^1(isBin(V1), V2) 140.48/117.30 U61^1(tt, V1, V2) -> ISBIN(V1) 140.48/117.30 U62^1(tt, V2) -> U63^1(isBin(V2)) 140.48/117.30 U62^1(tt, V2) -> ISBIN(V2) 140.48/117.30 U71^1(tt, V1) -> U72^1(isBag(V1)) 140.48/117.30 U71^1(tt, V1) -> ISBAG(V1) 140.48/117.30 U81^1(tt, V1) -> U82^1(isBag(V1)) 140.48/117.30 U81^1(tt, V1) -> ISBAG(V1) 140.48/117.30 ISBAG(singl(V1)) -> U11^1(isBinKind(V1), V1) 140.48/117.30 ISBAG(singl(V1)) -> ISBINKIND(V1) 140.48/117.30 ISBAG(union(V1, V2)) -> U21^1(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.48/117.30 ISBAG(union(V1, V2)) -> AND(isBagKind(V1), isBagKind(V2)) 140.48/117.30 ISBAG(union(V1, V2)) -> ISBAGKIND(V1) 140.48/117.30 ISBAG(union(V1, V2)) -> ISBAGKIND(V2) 140.48/117.30 ISBAGKIND(singl(V1)) -> ISBINKIND(V1) 140.48/117.30 ISBAGKIND(union(V1, V2)) -> AND(isBagKind(V1), isBagKind(V2)) 140.48/117.30 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V1) 140.48/117.30 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V2) 140.48/117.30 ISBIN(0(V1)) -> U31^1(isBinKind(V1), V1) 140.48/117.30 ISBIN(0(V1)) -> ISBINKIND(V1) 140.48/117.30 ISBIN(1(V1)) -> U41^1(isBinKind(V1), V1) 140.48/117.30 ISBIN(1(V1)) -> ISBINKIND(V1) 140.48/117.30 ISBIN(mult(V1, V2)) -> U51^1(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.48/117.30 ISBIN(mult(V1, V2)) -> AND(isBinKind(V1), isBinKind(V2)) 140.48/117.30 ISBIN(mult(V1, V2)) -> ISBINKIND(V1) 140.48/117.30 ISBIN(mult(V1, V2)) -> ISBINKIND(V2) 140.48/117.30 ISBIN(plus(V1, V2)) -> U61^1(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.48/117.30 ISBIN(plus(V1, V2)) -> AND(isBinKind(V1), isBinKind(V2)) 140.48/117.30 ISBIN(plus(V1, V2)) -> ISBINKIND(V1) 140.48/117.30 ISBIN(plus(V1, V2)) -> ISBINKIND(V2) 140.48/117.30 ISBIN(prod(V1)) -> U71^1(isBagKind(V1), V1) 140.48/117.30 ISBIN(prod(V1)) -> ISBAGKIND(V1) 140.48/117.30 ISBIN(sum(V1)) -> U81^1(isBagKind(V1), V1) 140.48/117.30 ISBIN(sum(V1)) -> ISBAGKIND(V1) 140.48/117.30 ISBINKIND(0(V1)) -> ISBINKIND(V1) 140.48/117.30 ISBINKIND(1(V1)) -> ISBINKIND(V1) 140.48/117.30 ISBINKIND(mult(V1, V2)) -> AND(isBinKind(V1), isBinKind(V2)) 140.48/117.30 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V1) 140.48/117.30 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V2) 140.48/117.30 ISBINKIND(plus(V1, V2)) -> AND(isBinKind(V1), isBinKind(V2)) 140.48/117.30 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V1) 140.48/117.30 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V2) 140.48/117.30 ISBINKIND(prod(V1)) -> ISBAGKIND(V1) 140.48/117.30 ISBINKIND(sum(V1)) -> ISBAGKIND(V1) 140.48/117.30 MULT(z, X) -> U91^1(and(isBin(X), isBinKind(X))) 140.48/117.30 MULT(z, X) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 MULT(z, X) -> ISBIN(X) 140.48/117.30 MULT(z, X) -> ISBINKIND(X) 140.48/117.30 MULT(0(X), Y) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 MULT(0(X), Y) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 MULT(0(X), Y) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 MULT(0(X), Y) -> ISBIN(X) 140.48/117.30 MULT(0(X), Y) -> ISBINKIND(X) 140.48/117.30 MULT(0(X), Y) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 MULT(0(X), Y) -> ISBIN(Y) 140.48/117.30 MULT(0(X), Y) -> ISBINKIND(Y) 140.48/117.30 MULT(1(X), Y) -> U111^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 MULT(1(X), Y) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 MULT(1(X), Y) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 MULT(1(X), Y) -> ISBIN(X) 140.48/117.30 MULT(1(X), Y) -> ISBINKIND(X) 140.48/117.30 MULT(1(X), Y) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 MULT(1(X), Y) -> ISBIN(Y) 140.48/117.30 MULT(1(X), Y) -> ISBINKIND(Y) 140.48/117.30 PLUS(z, X) -> U121^1(and(isBin(X), isBinKind(X)), X) 140.48/117.30 PLUS(z, X) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(z, X) -> ISBIN(X) 140.48/117.30 PLUS(z, X) -> ISBINKIND(X) 140.48/117.30 PLUS(0(X), 0(Y)) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 PLUS(0(X), 0(Y)) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 PLUS(0(X), 0(Y)) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(0(X), 0(Y)) -> ISBIN(X) 140.48/117.30 PLUS(0(X), 0(Y)) -> ISBINKIND(X) 140.48/117.30 PLUS(0(X), 0(Y)) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 PLUS(0(X), 0(Y)) -> ISBIN(Y) 140.48/117.30 PLUS(0(X), 0(Y)) -> ISBINKIND(Y) 140.48/117.30 PLUS(0(X), 1(Y)) -> U141^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 PLUS(0(X), 1(Y)) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 PLUS(0(X), 1(Y)) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(0(X), 1(Y)) -> ISBIN(X) 140.48/117.30 PLUS(0(X), 1(Y)) -> ISBINKIND(X) 140.48/117.30 PLUS(0(X), 1(Y)) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 PLUS(0(X), 1(Y)) -> ISBIN(Y) 140.48/117.30 PLUS(0(X), 1(Y)) -> ISBINKIND(Y) 140.48/117.30 PLUS(1(X), 1(Y)) -> U151^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 PLUS(1(X), 1(Y)) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 PLUS(1(X), 1(Y)) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(1(X), 1(Y)) -> ISBIN(X) 140.48/117.30 PLUS(1(X), 1(Y)) -> ISBINKIND(X) 140.48/117.30 PLUS(1(X), 1(Y)) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 PLUS(1(X), 1(Y)) -> ISBIN(Y) 140.48/117.30 PLUS(1(X), 1(Y)) -> ISBINKIND(Y) 140.48/117.30 PROD(singl(X)) -> U161^1(and(isBin(X), isBinKind(X)), X) 140.48/117.30 PROD(singl(X)) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PROD(singl(X)) -> ISBIN(X) 140.48/117.30 PROD(singl(X)) -> ISBINKIND(X) 140.48/117.30 PROD(union(A, B)) -> U171^1(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.48/117.30 PROD(union(A, B)) -> AND(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))) 140.48/117.30 PROD(union(A, B)) -> AND(isBag(A), isBagKind(A)) 140.48/117.30 PROD(union(A, B)) -> ISBAG(A) 140.48/117.30 PROD(union(A, B)) -> ISBAGKIND(A) 140.48/117.30 PROD(union(A, B)) -> AND(isBag(B), isBagKind(B)) 140.48/117.30 PROD(union(A, B)) -> ISBAG(B) 140.48/117.30 PROD(union(A, B)) -> ISBAGKIND(B) 140.48/117.30 SUM(empty) -> 0^1(z) 140.48/117.30 SUM(singl(X)) -> U181^1(and(isBin(X), isBinKind(X)), X) 140.48/117.30 SUM(singl(X)) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 SUM(singl(X)) -> ISBIN(X) 140.48/117.30 SUM(singl(X)) -> ISBINKIND(X) 140.48/117.30 SUM(union(A, B)) -> U191^1(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.48/117.30 SUM(union(A, B)) -> AND(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))) 140.48/117.30 SUM(union(A, B)) -> AND(isBag(A), isBagKind(A)) 140.48/117.30 SUM(union(A, B)) -> ISBAG(A) 140.48/117.30 SUM(union(A, B)) -> ISBAGKIND(A) 140.48/117.30 SUM(union(A, B)) -> AND(isBag(B), isBagKind(B)) 140.48/117.30 SUM(union(A, B)) -> ISBAG(B) 140.48/117.30 SUM(union(A, B)) -> ISBAGKIND(B) 140.48/117.30 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.48/117.30 MULT(mult(z, X), ext) -> U91^1(and(isBin(X), isBinKind(X))) 140.48/117.30 MULT(mult(z, X), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 MULT(mult(z, X), ext) -> ISBIN(X) 140.48/117.30 MULT(mult(z, X), ext) -> ISBINKIND(X) 140.48/117.30 MULT(mult(0(X), Y), ext) -> MULT(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 MULT(mult(0(X), Y), ext) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 MULT(mult(0(X), Y), ext) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 MULT(mult(0(X), Y), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 MULT(mult(0(X), Y), ext) -> ISBIN(X) 140.48/117.30 MULT(mult(0(X), Y), ext) -> ISBINKIND(X) 140.48/117.30 MULT(mult(0(X), Y), ext) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 MULT(mult(0(X), Y), ext) -> ISBIN(Y) 140.48/117.30 MULT(mult(0(X), Y), ext) -> ISBINKIND(Y) 140.48/117.30 MULT(mult(1(X), Y), ext) -> MULT(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 MULT(mult(1(X), Y), ext) -> U111^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 MULT(mult(1(X), Y), ext) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 MULT(mult(1(X), Y), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 MULT(mult(1(X), Y), ext) -> ISBIN(X) 140.48/117.30 MULT(mult(1(X), Y), ext) -> ISBINKIND(X) 140.48/117.30 MULT(mult(1(X), Y), ext) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 MULT(mult(1(X), Y), ext) -> ISBIN(Y) 140.48/117.30 MULT(mult(1(X), Y), ext) -> ISBINKIND(Y) 140.48/117.30 PLUS(plus(z, X), ext) -> PLUS(U121(and(isBin(X), isBinKind(X)), X), ext) 140.48/117.30 PLUS(plus(z, X), ext) -> U121^1(and(isBin(X), isBinKind(X)), X) 140.48/117.30 PLUS(plus(z, X), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(plus(z, X), ext) -> ISBIN(X) 140.48/117.30 PLUS(plus(z, X), ext) -> ISBINKIND(X) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> ISBIN(X) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> ISBINKIND(X) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> ISBIN(Y) 140.48/117.30 PLUS(plus(0(X), 0(Y)), ext) -> ISBINKIND(Y) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> U141^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> ISBIN(X) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> ISBINKIND(X) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> ISBIN(Y) 140.48/117.30 PLUS(plus(0(X), 1(Y)), ext) -> ISBINKIND(Y) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> U151^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> AND(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> AND(isBin(X), isBinKind(X)) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> ISBIN(X) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> ISBINKIND(X) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> AND(isBin(Y), isBinKind(Y)) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> ISBIN(Y) 140.48/117.30 PLUS(plus(1(X), 1(Y)), ext) -> ISBINKIND(Y) 140.48/117.30 140.48/117.30 The TRS R consists of the following rules: 140.48/117.30 140.48/117.30 union(X, empty) -> X 140.48/117.30 union(empty, X) -> X 140.48/117.30 0(z) -> z 140.48/117.30 U101(tt, X, Y) -> 0(mult(X, Y)) 140.48/117.30 U11(tt, V1) -> U12(isBin(V1)) 140.48/117.30 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.48/117.30 U12(tt) -> tt 140.48/117.30 U121(tt, X) -> X 140.48/117.30 U131(tt, X, Y) -> 0(plus(X, Y)) 140.48/117.30 U141(tt, X, Y) -> 1(plus(X, Y)) 140.48/117.30 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.48/117.30 U161(tt, X) -> X 140.48/117.30 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.48/117.30 U181(tt, X) -> X 140.48/117.30 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.48/117.30 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.48/117.30 U22(tt, V2) -> U23(isBag(V2)) 140.48/117.30 U23(tt) -> tt 140.48/117.30 U31(tt, V1) -> U32(isBin(V1)) 140.48/117.30 U32(tt) -> tt 140.48/117.30 U41(tt, V1) -> U42(isBin(V1)) 140.48/117.30 U42(tt) -> tt 140.48/117.30 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.48/117.30 U52(tt, V2) -> U53(isBin(V2)) 140.48/117.30 U53(tt) -> tt 140.48/117.30 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.48/117.30 U62(tt, V2) -> U63(isBin(V2)) 140.48/117.30 U63(tt) -> tt 140.48/117.30 U71(tt, V1) -> U72(isBag(V1)) 140.48/117.30 U72(tt) -> tt 140.48/117.30 U81(tt, V1) -> U82(isBag(V1)) 140.48/117.30 U82(tt) -> tt 140.48/117.30 U91(tt) -> z 140.48/117.30 and(tt, X) -> X 140.48/117.30 isBag(empty) -> tt 140.48/117.30 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.48/117.30 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.48/117.30 isBagKind(empty) -> tt 140.48/117.30 isBagKind(singl(V1)) -> isBinKind(V1) 140.48/117.30 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.48/117.30 isBin(z) -> tt 140.48/117.30 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.48/117.30 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.48/117.30 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.48/117.30 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.48/117.30 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.48/117.30 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.48/117.30 isBinKind(z) -> tt 140.48/117.30 isBinKind(0(V1)) -> isBinKind(V1) 140.48/117.30 isBinKind(1(V1)) -> isBinKind(V1) 140.48/117.30 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.48/117.30 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.48/117.30 isBinKind(prod(V1)) -> isBagKind(V1) 140.48/117.30 isBinKind(sum(V1)) -> isBagKind(V1) 140.48/117.30 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.48/117.30 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.48/117.30 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.55/117.31 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.55/117.31 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.55/117.31 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.55/117.31 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.55/117.31 prod(empty) -> 1(z) 140.55/117.31 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.55/117.31 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.55/117.31 sum(empty) -> 0(z) 140.55/117.31 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.55/117.31 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.55/117.31 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.55/117.31 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.55/117.31 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.55/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.55/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.55/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.55/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.55/117.32 140.55/117.32 The set E consists of the following equations: 140.55/117.32 140.55/117.32 mult(x, y) == mult(y, x) 140.55/117.32 plus(x, y) == plus(y, x) 140.55/117.32 union(x, y) == union(y, x) 140.55/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.55/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.55/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.55/117.32 140.55/117.32 The set E# consists of the following equations: 140.55/117.32 140.55/117.32 MULT(x, y) == MULT(y, x) 140.55/117.32 PLUS(x, y) == PLUS(y, x) 140.55/117.32 UNION(x, y) == UNION(y, x) 140.55/117.32 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.55/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.55/117.32 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.55/117.32 140.55/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.55/117.32 ---------------------------------------- 140.55/117.32 140.55/117.32 (3) EDependencyGraphProof (EQUIVALENT) 140.55/117.32 The approximation of the Equational Dependency Graph [DA_STEIN] contains 6 SCCs with 141 less nodes. 140.55/117.32 ---------------------------------------- 140.55/117.32 140.55/117.32 (4) 140.55/117.32 Complex Obligation (AND) 140.55/117.32 140.55/117.32 ---------------------------------------- 140.55/117.32 140.55/117.32 (5) 140.55/117.32 Obligation: 140.55/117.32 The TRS P consists of the following rules: 140.55/117.32 140.55/117.32 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V1) 140.55/117.32 ISBINKIND(0(V1)) -> ISBINKIND(V1) 140.55/117.32 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V2) 140.55/117.32 ISBINKIND(1(V1)) -> ISBINKIND(V1) 140.55/117.32 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V1) 140.55/117.32 ISBINKIND(sum(V1)) -> ISBAGKIND(V1) 140.55/117.32 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V2) 140.55/117.32 ISBINKIND(prod(V1)) -> ISBAGKIND(V1) 140.55/117.32 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V2) 140.55/117.32 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V1) 140.55/117.32 ISBAGKIND(singl(V1)) -> ISBINKIND(V1) 140.55/117.32 140.55/117.32 The TRS R consists of the following rules: 140.55/117.32 140.55/117.32 union(X, empty) -> X 140.55/117.32 union(empty, X) -> X 140.55/117.32 0(z) -> z 140.55/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.55/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.55/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.55/117.32 U12(tt) -> tt 140.55/117.32 U121(tt, X) -> X 140.55/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.55/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.55/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.55/117.32 U161(tt, X) -> X 140.55/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.55/117.32 U181(tt, X) -> X 140.55/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.55/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.55/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.55/117.32 U23(tt) -> tt 140.55/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.55/117.32 U32(tt) -> tt 140.55/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.55/117.32 U42(tt) -> tt 140.55/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.55/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.55/117.32 U53(tt) -> tt 140.55/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.55/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.55/117.32 U63(tt) -> tt 140.55/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.55/117.32 U72(tt) -> tt 140.55/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.55/117.32 U82(tt) -> tt 140.55/117.32 U91(tt) -> z 140.55/117.32 and(tt, X) -> X 140.55/117.32 isBag(empty) -> tt 140.55/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.55/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.55/117.32 isBagKind(empty) -> tt 140.55/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.55/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.55/117.32 isBin(z) -> tt 140.55/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.55/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.55/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.55/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.55/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.55/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.55/117.32 isBinKind(z) -> tt 140.55/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.55/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.55/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.55/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.55/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.55/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.55/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.55/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.55/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.55/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.55/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.55/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.55/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.55/117.32 prod(empty) -> 1(z) 140.55/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.55/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.55/117.32 sum(empty) -> 0(z) 140.55/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.55/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.55/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.55/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.55/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.55/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.55/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.55/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.55/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.55/117.32 140.55/117.32 The set E consists of the following equations: 140.55/117.32 140.55/117.32 mult(x, y) == mult(y, x) 140.55/117.32 plus(x, y) == plus(y, x) 140.55/117.32 union(x, y) == union(y, x) 140.55/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.55/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.55/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.55/117.32 140.55/117.32 The set E# consists of the following equations: 140.55/117.32 140.55/117.32 MULT(x, y) == MULT(y, x) 140.55/117.32 PLUS(x, y) == PLUS(y, x) 140.55/117.32 UNION(x, y) == UNION(y, x) 140.55/117.32 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.55/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.55/117.32 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.55/117.32 140.55/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.55/117.32 ---------------------------------------- 140.55/117.32 140.55/117.32 (6) ESharpUsableEquationsProof (EQUIVALENT) 140.55/117.32 We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: 140.55/117.32 MULT(x, y) == MULT(y, x) 140.55/117.32 PLUS(x, y) == PLUS(y, x) 140.55/117.32 UNION(x, y) == UNION(y, x) 140.55/117.32 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.55/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.55/117.32 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.55/117.32 140.55/117.32 ---------------------------------------- 140.55/117.32 140.55/117.32 (7) 140.55/117.32 Obligation: 140.55/117.32 The TRS P consists of the following rules: 140.55/117.32 140.55/117.32 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V1) 140.55/117.32 ISBINKIND(0(V1)) -> ISBINKIND(V1) 140.55/117.32 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V2) 140.55/117.32 ISBINKIND(1(V1)) -> ISBINKIND(V1) 140.55/117.32 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V1) 140.55/117.32 ISBINKIND(sum(V1)) -> ISBAGKIND(V1) 140.55/117.32 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V2) 140.55/117.32 ISBINKIND(prod(V1)) -> ISBAGKIND(V1) 140.55/117.32 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V2) 140.55/117.32 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V1) 140.55/117.32 ISBAGKIND(singl(V1)) -> ISBINKIND(V1) 140.55/117.32 140.55/117.32 The TRS R consists of the following rules: 140.55/117.32 140.55/117.32 union(X, empty) -> X 140.55/117.32 union(empty, X) -> X 140.55/117.32 0(z) -> z 140.55/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.55/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.55/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.55/117.32 U12(tt) -> tt 140.55/117.32 U121(tt, X) -> X 140.55/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.55/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.55/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.55/117.32 U161(tt, X) -> X 140.55/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.55/117.32 U181(tt, X) -> X 140.55/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.55/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.55/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.55/117.32 U23(tt) -> tt 140.55/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.55/117.32 U32(tt) -> tt 140.55/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.55/117.32 U42(tt) -> tt 140.55/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.55/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.55/117.32 U53(tt) -> tt 140.55/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.55/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.55/117.32 U63(tt) -> tt 140.55/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.55/117.32 U72(tt) -> tt 140.55/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.55/117.32 U82(tt) -> tt 140.55/117.32 U91(tt) -> z 140.55/117.32 and(tt, X) -> X 140.55/117.32 isBag(empty) -> tt 140.55/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.55/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.55/117.32 isBagKind(empty) -> tt 140.55/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.55/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.55/117.32 isBin(z) -> tt 140.55/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.55/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.55/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.55/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.55/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.55/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.55/117.32 isBinKind(z) -> tt 140.55/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.55/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.55/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.55/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.55/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.55/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.55/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.55/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.55/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 140.58/117.32 The set E consists of the following equations: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 140.58/117.32 E# is empty. 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (8) EUsableRulesReductionPairsProof (EQUIVALENT) 140.58/117.32 By using the usable rules and equations with reduction pair processor [DA_STEIN] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules can be oriented non-strictly, the usable equations and the esharp equations can be oriented equivalently. All non-usable rules and equations are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 140.58/117.32 140.58/117.32 The following dependency pairs can be deleted: 140.58/117.32 140.58/117.32 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V1) 140.58/117.32 ISBINKIND(0(V1)) -> ISBINKIND(V1) 140.58/117.32 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V2) 140.58/117.32 ISBINKIND(1(V1)) -> ISBINKIND(V1) 140.58/117.32 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V1) 140.58/117.32 ISBINKIND(sum(V1)) -> ISBAGKIND(V1) 140.58/117.32 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V2) 140.58/117.32 ISBINKIND(prod(V1)) -> ISBAGKIND(V1) 140.58/117.32 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V2) 140.58/117.32 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V1) 140.58/117.32 ISBAGKIND(singl(V1)) -> ISBINKIND(V1) 140.58/117.32 The following rules are removed from R: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U32(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U42(tt) -> tt 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U53(tt) -> tt 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U91(tt) -> z 140.58/117.32 and(tt, X) -> X 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.32 isBinKind(z) -> tt 140.58/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 The following equations are removed from E: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 Used ordering: POLO with Polynomial interpretation [POLO]: 140.58/117.32 140.58/117.32 POL(0(x_1)) = 3*x_1 140.58/117.32 POL(1(x_1)) = 3*x_1 140.58/117.32 POL(ISBAGKIND(x_1)) = x_1 140.58/117.32 POL(ISBINKIND(x_1)) = 2*x_1 140.58/117.32 POL(mult(x_1, x_2)) = 3*x_1 + 3*x_2 140.58/117.32 POL(plus(x_1, x_2)) = 3*x_1 + 3*x_2 140.58/117.32 POL(prod(x_1)) = 3*x_1 140.58/117.32 POL(singl(x_1)) = 3*x_1 140.58/117.32 POL(sum(x_1)) = 3*x_1 140.58/117.32 POL(union(x_1, x_2)) = 3*x_1 + 3*x_2 140.58/117.32 140.58/117.32 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (9) 140.58/117.32 Obligation: 140.58/117.32 P is empty. 140.58/117.32 R is empty. 140.58/117.32 E is empty. 140.58/117.32 E# is empty. 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (10) PisEmptyProof (EQUIVALENT) 140.58/117.32 The TRS P is empty. Hence, there is no (P,E#,R,E) chain. 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (11) 140.58/117.32 YES 140.58/117.32 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (12) 140.58/117.32 Obligation: 140.58/117.32 The TRS P consists of the following rules: 140.58/117.32 140.58/117.32 U71^1(tt, V1) -> ISBAG(V1) 140.58/117.32 U61^1(tt, V1, V2) -> U62^1(isBin(V1), V2) 140.58/117.32 U51^1(tt, V1, V2) -> U52^1(isBin(V1), V2) 140.58/117.32 ISBIN(1(V1)) -> U41^1(isBinKind(V1), V1) 140.58/117.32 U52^1(tt, V2) -> ISBIN(V2) 140.58/117.32 U41^1(tt, V1) -> ISBIN(V1) 140.58/117.32 U21^1(tt, V1, V2) -> U22^1(isBag(V1), V2) 140.58/117.32 U11^1(tt, V1) -> ISBIN(V1) 140.58/117.32 ISBIN(plus(V1, V2)) -> U61^1(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 ISBIN(0(V1)) -> U31^1(isBinKind(V1), V1) 140.58/117.32 U81^1(tt, V1) -> ISBAG(V1) 140.58/117.32 U51^1(tt, V1, V2) -> ISBIN(V1) 140.58/117.32 ISBIN(prod(V1)) -> U71^1(isBagKind(V1), V1) 140.58/117.32 ISBAG(singl(V1)) -> U11^1(isBinKind(V1), V1) 140.58/117.32 ISBAG(union(V1, V2)) -> U21^1(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 ISBIN(mult(V1, V2)) -> U51^1(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 U22^1(tt, V2) -> ISBAG(V2) 140.58/117.32 U31^1(tt, V1) -> ISBIN(V1) 140.58/117.32 ISBIN(sum(V1)) -> U81^1(isBagKind(V1), V1) 140.58/117.32 U61^1(tt, V1, V2) -> ISBIN(V1) 140.58/117.32 U62^1(tt, V2) -> ISBIN(V2) 140.58/117.32 U21^1(tt, V1, V2) -> ISBAG(V1) 140.58/117.32 140.58/117.32 The TRS R consists of the following rules: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U32(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U42(tt) -> tt 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U53(tt) -> tt 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U91(tt) -> z 140.58/117.32 and(tt, X) -> X 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.32 isBinKind(z) -> tt 140.58/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 140.58/117.32 The set E consists of the following equations: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 140.58/117.32 The set E# consists of the following equations: 140.58/117.32 140.58/117.32 MULT(x, y) == MULT(y, x) 140.58/117.32 PLUS(x, y) == PLUS(y, x) 140.58/117.32 UNION(x, y) == UNION(y, x) 140.58/117.32 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.32 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.58/117.32 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (13) ESharpUsableEquationsProof (EQUIVALENT) 140.58/117.32 We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: 140.58/117.32 MULT(x, y) == MULT(y, x) 140.58/117.32 PLUS(x, y) == PLUS(y, x) 140.58/117.32 UNION(x, y) == UNION(y, x) 140.58/117.32 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.32 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.58/117.32 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (14) 140.58/117.32 Obligation: 140.58/117.32 The TRS P consists of the following rules: 140.58/117.32 140.58/117.32 U71^1(tt, V1) -> ISBAG(V1) 140.58/117.32 U61^1(tt, V1, V2) -> U62^1(isBin(V1), V2) 140.58/117.32 U51^1(tt, V1, V2) -> U52^1(isBin(V1), V2) 140.58/117.32 ISBIN(1(V1)) -> U41^1(isBinKind(V1), V1) 140.58/117.32 U52^1(tt, V2) -> ISBIN(V2) 140.58/117.32 U41^1(tt, V1) -> ISBIN(V1) 140.58/117.32 U21^1(tt, V1, V2) -> U22^1(isBag(V1), V2) 140.58/117.32 U11^1(tt, V1) -> ISBIN(V1) 140.58/117.32 ISBIN(plus(V1, V2)) -> U61^1(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 ISBIN(0(V1)) -> U31^1(isBinKind(V1), V1) 140.58/117.32 U81^1(tt, V1) -> ISBAG(V1) 140.58/117.32 U51^1(tt, V1, V2) -> ISBIN(V1) 140.58/117.32 ISBIN(prod(V1)) -> U71^1(isBagKind(V1), V1) 140.58/117.32 ISBAG(singl(V1)) -> U11^1(isBinKind(V1), V1) 140.58/117.32 ISBAG(union(V1, V2)) -> U21^1(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 ISBIN(mult(V1, V2)) -> U51^1(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 U22^1(tt, V2) -> ISBAG(V2) 140.58/117.32 U31^1(tt, V1) -> ISBIN(V1) 140.58/117.32 ISBIN(sum(V1)) -> U81^1(isBagKind(V1), V1) 140.58/117.32 U61^1(tt, V1, V2) -> ISBIN(V1) 140.58/117.32 U62^1(tt, V2) -> ISBIN(V2) 140.58/117.32 U21^1(tt, V1, V2) -> ISBAG(V1) 140.58/117.32 140.58/117.32 The TRS R consists of the following rules: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U32(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U42(tt) -> tt 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U53(tt) -> tt 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U91(tt) -> z 140.58/117.32 and(tt, X) -> X 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.32 isBinKind(z) -> tt 140.58/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 140.58/117.32 The set E consists of the following equations: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 140.58/117.32 E# is empty. 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (15) EUsableRulesReductionPairsProof (EQUIVALENT) 140.58/117.32 By using the usable rules and equations with reduction pair processor [DA_STEIN] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules can be oriented non-strictly, the usable equations and the esharp equations can be oriented equivalently. All non-usable rules and equations are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 140.58/117.32 140.58/117.32 The following dependency pairs can be deleted: 140.58/117.32 140.58/117.32 ISBIN(1(V1)) -> U41^1(isBinKind(V1), V1) 140.58/117.32 ISBIN(plus(V1, V2)) -> U61^1(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 ISBIN(0(V1)) -> U31^1(isBinKind(V1), V1) 140.58/117.32 ISBIN(prod(V1)) -> U71^1(isBagKind(V1), V1) 140.58/117.32 ISBAG(singl(V1)) -> U11^1(isBinKind(V1), V1) 140.58/117.32 ISBAG(union(V1, V2)) -> U21^1(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 ISBIN(mult(V1, V2)) -> U51^1(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 ISBIN(sum(V1)) -> U81^1(isBagKind(V1), V1) 140.58/117.32 The following rules are removed from R: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U91(tt) -> z 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.32 isBinKind(z) -> tt 140.58/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 The following equations are removed from E: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 Used ordering: POLO with Polynomial interpretation [POLO]: 140.58/117.32 140.58/117.32 POL(0(x_1)) = 2 + 3*x_1 140.58/117.32 POL(1(x_1)) = 2*x_1 140.58/117.32 POL(ISBAG(x_1)) = 2*x_1 140.58/117.32 POL(ISBIN(x_1)) = 2*x_1 140.58/117.32 POL(U11(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U11^1(x_1, x_2)) = 2*x_1 + 2*x_2 140.58/117.32 POL(U12(x_1)) = x_1 140.58/117.32 POL(U21(x_1, x_2, x_3)) = x_1 + 2*x_2 + 2*x_3 140.58/117.32 POL(U21^1(x_1, x_2, x_3)) = x_1 + 2*x_2 + 2*x_3 140.58/117.32 POL(U22(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U22^1(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U23(x_1)) = x_1 140.58/117.32 POL(U31(x_1, x_2)) = 2 + x_1 + 2*x_2 140.58/117.32 POL(U31^1(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U32(x_1)) = x_1 140.58/117.32 POL(U41(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U41^1(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U42(x_1)) = x_1 140.58/117.32 POL(U51(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + 2*x_3 140.58/117.32 POL(U51^1(x_1, x_2, x_3)) = x_1 + 2*x_2 + 2*x_3 140.58/117.32 POL(U52(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U52^1(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U53(x_1)) = x_1 140.58/117.32 POL(U61(x_1, x_2, x_3)) = x_1 + 2*x_2 + 2*x_3 140.58/117.32 POL(U61^1(x_1, x_2, x_3)) = x_1 + 2*x_2 + 2*x_3 140.58/117.32 POL(U62(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U62^1(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U63(x_1)) = x_1 140.58/117.32 POL(U71(x_1, x_2)) = 2*x_1 + 2*x_2 140.58/117.32 POL(U71^1(x_1, x_2)) = 2*x_1 + 2*x_2 140.58/117.32 POL(U72(x_1)) = x_1 140.58/117.32 POL(U81(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U81^1(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U82(x_1)) = x_1 140.58/117.32 POL(and(x_1, x_2)) = x_1 + x_2 140.58/117.32 POL(empty) = 0 140.58/117.32 POL(isBag(x_1)) = 2*x_1 140.58/117.32 POL(isBagKind(x_1)) = 2*x_1 140.58/117.32 POL(isBin(x_1)) = 2*x_1 140.58/117.32 POL(isBinKind(x_1)) = 2*x_1 140.58/117.32 POL(mult(x_1, x_2)) = 3*x_1 + 3*x_2 140.58/117.32 POL(plus(x_1, x_2)) = 2*x_1 + 3*x_2 140.58/117.32 POL(prod(x_1)) = 2 + 3*x_1 140.58/117.32 POL(singl(x_1)) = 3*x_1 140.58/117.32 POL(sum(x_1)) = 3 + 3*x_1 140.58/117.32 POL(tt) = 0 140.58/117.32 POL(union(x_1, x_2)) = 2 + 3*x_1 + 3*x_2 140.58/117.32 POL(z) = 0 140.58/117.32 140.58/117.32 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (16) 140.58/117.32 Obligation: 140.58/117.32 The TRS P consists of the following rules: 140.58/117.32 140.58/117.32 U71^1(tt, V1) -> ISBAG(V1) 140.58/117.32 U61^1(tt, V1, V2) -> U62^1(isBin(V1), V2) 140.58/117.32 U51^1(tt, V1, V2) -> U52^1(isBin(V1), V2) 140.58/117.32 U52^1(tt, V2) -> ISBIN(V2) 140.58/117.32 U41^1(tt, V1) -> ISBIN(V1) 140.58/117.32 U21^1(tt, V1, V2) -> U22^1(isBag(V1), V2) 140.58/117.32 U11^1(tt, V1) -> ISBIN(V1) 140.58/117.32 U81^1(tt, V1) -> ISBAG(V1) 140.58/117.32 U51^1(tt, V1, V2) -> ISBIN(V1) 140.58/117.32 U22^1(tt, V2) -> ISBAG(V2) 140.58/117.32 U31^1(tt, V1) -> ISBIN(V1) 140.58/117.32 U61^1(tt, V1, V2) -> ISBIN(V1) 140.58/117.32 U62^1(tt, V2) -> ISBIN(V2) 140.58/117.32 U21^1(tt, V1, V2) -> ISBAG(V1) 140.58/117.32 140.58/117.32 The TRS R consists of the following rules: 140.58/117.32 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U42(tt) -> tt 140.58/117.32 and(tt, X) -> X 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U32(tt) -> tt 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U53(tt) -> tt 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 140.58/117.32 E is empty. 140.58/117.32 E# is empty. 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (17) EDependencyGraphProof (EQUIVALENT) 140.58/117.32 The approximation of the Equational Dependency Graph [DA_STEIN] contains 0 SCCs with 14 less nodes. 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (18) 140.58/117.32 TRUE 140.58/117.32 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (19) 140.58/117.32 Obligation: 140.58/117.32 The TRS P consists of the following rules: 140.58/117.32 140.58/117.32 U151^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 PLUS(0(X), 1(Y)) -> U141^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 PLUS(plus(0(X), 1(Y)), ext) -> U141^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 U141^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(1(X), 1(Y)) -> U151^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 PLUS(plus(1(X), 1(Y)), ext) -> U151^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 U151^1(tt, X, Y) -> PLUS(plus(X, Y), 1(z)) 140.58/117.32 PLUS(plus(z, X), ext) -> PLUS(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 PLUS(0(X), 0(Y)) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 U131^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(plus(0(X), 0(Y)), ext) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 140.58/117.32 The TRS R consists of the following rules: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U32(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U42(tt) -> tt 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U53(tt) -> tt 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U91(tt) -> z 140.58/117.32 and(tt, X) -> X 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.32 isBinKind(z) -> tt 140.58/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 140.58/117.32 The set E consists of the following equations: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 140.58/117.32 The set E# consists of the following equations: 140.58/117.32 140.58/117.32 MULT(x, y) == MULT(y, x) 140.58/117.32 PLUS(x, y) == PLUS(y, x) 140.58/117.32 UNION(x, y) == UNION(y, x) 140.58/117.32 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.32 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.58/117.32 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (20) ESharpUsableEquationsProof (EQUIVALENT) 140.58/117.32 We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: 140.58/117.32 MULT(x, y) == MULT(y, x) 140.58/117.32 UNION(x, y) == UNION(y, x) 140.58/117.32 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.32 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.58/117.32 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (21) 140.58/117.32 Obligation: 140.58/117.32 The TRS P consists of the following rules: 140.58/117.32 140.58/117.32 U151^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 PLUS(0(X), 1(Y)) -> U141^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 PLUS(plus(0(X), 1(Y)), ext) -> U141^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 U141^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(1(X), 1(Y)) -> U151^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 PLUS(plus(1(X), 1(Y)), ext) -> U151^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 U151^1(tt, X, Y) -> PLUS(plus(X, Y), 1(z)) 140.58/117.32 PLUS(plus(z, X), ext) -> PLUS(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 PLUS(0(X), 0(Y)) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 U131^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(plus(0(X), 0(Y)), ext) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 140.58/117.32 The TRS R consists of the following rules: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U32(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U42(tt) -> tt 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U53(tt) -> tt 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U91(tt) -> z 140.58/117.32 and(tt, X) -> X 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.32 isBinKind(z) -> tt 140.58/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 140.58/117.32 The set E consists of the following equations: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 140.58/117.32 The set E# consists of the following equations: 140.58/117.32 140.58/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.32 PLUS(x, y) == PLUS(y, x) 140.58/117.32 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (22) EDPPoloProof (EQUIVALENT) 140.58/117.32 We use the reduction pair processor [DA_STEIN] with a polynomial ordering [POLO]. The following set of Dependency Pairs of this DP problem can be strictly oriented. 140.58/117.32 140.58/117.32 140.58/117.32 U151^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(0(X), 1(Y)) -> U141^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 PLUS(plus(0(X), 1(Y)), ext) -> U141^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 PLUS(1(X), 1(Y)) -> U151^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 PLUS(plus(1(X), 1(Y)), ext) -> U151^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 PLUS(plus(z, X), ext) -> PLUS(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 The remaining Dependency Pairs were at least non-strictly oriented. 140.58/117.32 140.58/117.32 140.58/117.32 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 U141^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 U151^1(tt, X, Y) -> PLUS(plus(X, Y), 1(z)) 140.58/117.32 PLUS(0(X), 0(Y)) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 U131^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(plus(0(X), 0(Y)), ext) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 With the implicit AFS we had to orient the following set of usable rules of R non-strictly. 140.58/117.32 140.58/117.32 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 0(z) -> z 140.58/117.32 U121(tt, X) -> X 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 We had to orient the following equations of E# equivalently. 140.58/117.32 140.58/117.32 140.58/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.32 PLUS(x, y) == PLUS(y, x) 140.58/117.32 With the implicit AFS we had to orient the following usable equations of E equivalently. 140.58/117.32 140.58/117.32 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 Used ordering: POLO with Polynomial interpretation [POLO]: 140.58/117.32 140.58/117.32 POL(0(x_1)) = x_1 140.58/117.32 POL(1(x_1)) = 2 + x_1 140.58/117.32 POL(PLUS(x_1, x_2)) = x_1 + x_2 140.58/117.32 POL(U11(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U12(x_1)) = 3 140.58/117.32 POL(U121(x_1, x_2)) = x_2 140.58/117.32 POL(U131(x_1, x_2, x_3)) = x_2 + x_3 140.58/117.32 POL(U131^1(x_1, x_2, x_3)) = x_2 + x_3 140.58/117.32 POL(U141(x_1, x_2, x_3)) = 2 + x_2 + x_3 140.58/117.32 POL(U141^1(x_1, x_2, x_3)) = x_2 + x_3 140.58/117.32 POL(U151(x_1, x_2, x_3)) = 3 + x_2 + x_3 140.58/117.32 POL(U151^1(x_1, x_2, x_3)) = 3 + x_2 + x_3 140.58/117.32 POL(U21(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 140.58/117.32 POL(U22(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U23(x_1)) = 3 140.58/117.32 POL(U31(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U32(x_1)) = 3 140.58/117.32 POL(U41(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U42(x_1)) = 3 140.58/117.32 POL(U51(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 140.58/117.32 POL(U52(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U53(x_1)) = 3 140.58/117.32 POL(U61(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 140.58/117.32 POL(U62(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U63(x_1)) = 3 140.58/117.32 POL(U71(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U72(x_1)) = 3 140.58/117.32 POL(U81(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U82(x_1)) = 3 140.58/117.32 POL(and(x_1, x_2)) = 0 140.58/117.32 POL(empty) = 0 140.58/117.32 POL(isBag(x_1)) = 0 140.58/117.32 POL(isBagKind(x_1)) = 0 140.58/117.32 POL(isBin(x_1)) = 0 140.58/117.32 POL(isBinKind(x_1)) = 0 140.58/117.32 POL(mult(x_1, x_2)) = 0 140.58/117.32 POL(plus(x_1, x_2)) = x_1 + x_2 140.58/117.32 POL(prod(x_1)) = 0 140.58/117.32 POL(singl(x_1)) = 0 140.58/117.32 POL(sum(x_1)) = 0 140.58/117.32 POL(tt) = 0 140.58/117.32 POL(union(x_1, x_2)) = 0 140.58/117.32 POL(z) = 1 140.58/117.32 140.58/117.32 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (23) 140.58/117.32 Obligation: 140.58/117.32 The TRS P consists of the following rules: 140.58/117.32 140.58/117.32 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 U141^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 U151^1(tt, X, Y) -> PLUS(plus(X, Y), 1(z)) 140.58/117.32 PLUS(0(X), 0(Y)) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 U131^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(plus(0(X), 0(Y)), ext) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 140.58/117.32 The TRS R consists of the following rules: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U32(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U42(tt) -> tt 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U53(tt) -> tt 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U91(tt) -> z 140.58/117.32 and(tt, X) -> X 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.32 isBinKind(z) -> tt 140.58/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 140.58/117.32 The set E consists of the following equations: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 140.58/117.32 The set E# consists of the following equations: 140.58/117.32 140.58/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.32 PLUS(x, y) == PLUS(y, x) 140.58/117.32 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (24) EDependencyGraphProof (EQUIVALENT) 140.58/117.32 The approximation of the Equational Dependency Graph [DA_STEIN] contains 1 SCC with 2 less nodes. 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (25) 140.58/117.32 Obligation: 140.58/117.32 The TRS P consists of the following rules: 140.58/117.32 140.58/117.32 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 PLUS(0(X), 0(Y)) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 U131^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(plus(0(X), 0(Y)), ext) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 140.58/117.32 The TRS R consists of the following rules: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U32(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U42(tt) -> tt 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U53(tt) -> tt 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U91(tt) -> z 140.58/117.32 and(tt, X) -> X 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.32 isBinKind(z) -> tt 140.58/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 140.58/117.32 The set E consists of the following equations: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 140.58/117.32 The set E# consists of the following equations: 140.58/117.32 140.58/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.32 PLUS(x, y) == PLUS(y, x) 140.58/117.32 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (26) EDPPoloProof (EQUIVALENT) 140.58/117.32 We use the reduction pair processor [DA_STEIN] with a polynomial ordering [POLO]. All Dependency Pairs of this DP problem can be strictly oriented. 140.58/117.32 140.58/117.32 140.58/117.32 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 PLUS(0(X), 0(Y)) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 U131^1(tt, X, Y) -> PLUS(X, Y) 140.58/117.32 PLUS(plus(0(X), 0(Y)), ext) -> U131^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 With the implicit AFS we had to orient the following set of usable rules of R non-strictly. 140.58/117.32 140.58/117.32 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U121(tt, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 We had to orient the following equations of E# equivalently. 140.58/117.32 140.58/117.32 140.58/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.32 PLUS(x, y) == PLUS(y, x) 140.58/117.32 With the implicit AFS we had to orient the following usable equations of E equivalently. 140.58/117.32 140.58/117.32 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 Used ordering: POLO with Polynomial interpretation [POLO]: 140.58/117.32 140.58/117.32 POL(0(x_1)) = 1 + x_1 140.58/117.32 POL(1(x_1)) = 1 + x_1 140.58/117.32 POL(PLUS(x_1, x_2)) = x_1 + x_2 140.58/117.32 POL(U11(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U12(x_1)) = 3 140.58/117.32 POL(U121(x_1, x_2)) = x_2 140.58/117.32 POL(U131(x_1, x_2, x_3)) = 1 + x_2 + x_3 140.58/117.32 POL(U131^1(x_1, x_2, x_3)) = 1 + x_2 + x_3 140.58/117.32 POL(U141(x_1, x_2, x_3)) = 1 + x_2 + x_3 140.58/117.32 POL(U151(x_1, x_2, x_3)) = 2 + x_2 + x_3 140.58/117.32 POL(U21(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 140.58/117.32 POL(U22(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U23(x_1)) = 3 140.58/117.32 POL(U31(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U32(x_1)) = 3 140.58/117.32 POL(U41(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U42(x_1)) = 3 140.58/117.32 POL(U51(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 140.58/117.32 POL(U52(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U53(x_1)) = 3 140.58/117.32 POL(U61(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 140.58/117.32 POL(U62(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U63(x_1)) = 3 140.58/117.32 POL(U71(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U72(x_1)) = 3 140.58/117.32 POL(U81(x_1, x_2)) = 3 + 3*x_2 140.58/117.32 POL(U82(x_1)) = 3 140.58/117.32 POL(and(x_1, x_2)) = 0 140.58/117.32 POL(empty) = 0 140.58/117.32 POL(isBag(x_1)) = 0 140.58/117.32 POL(isBagKind(x_1)) = 0 140.58/117.32 POL(isBin(x_1)) = 0 140.58/117.32 POL(isBinKind(x_1)) = 0 140.58/117.32 POL(mult(x_1, x_2)) = 0 140.58/117.32 POL(plus(x_1, x_2)) = x_1 + x_2 140.58/117.32 POL(prod(x_1)) = 0 140.58/117.32 POL(singl(x_1)) = 0 140.58/117.32 POL(sum(x_1)) = 0 140.58/117.32 POL(tt) = 0 140.58/117.32 POL(union(x_1, x_2)) = 0 140.58/117.32 POL(z) = 0 140.58/117.32 140.58/117.32 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (27) 140.58/117.32 Obligation: 140.58/117.32 P is empty. 140.58/117.32 The TRS R consists of the following rules: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U32(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U42(tt) -> tt 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U53(tt) -> tt 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U91(tt) -> z 140.58/117.32 and(tt, X) -> X 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.32 isBinKind(z) -> tt 140.58/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 140.58/117.32 The set E consists of the following equations: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 140.58/117.32 The set E# consists of the following equations: 140.58/117.32 140.58/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.32 PLUS(x, y) == PLUS(y, x) 140.58/117.32 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (28) PisEmptyProof (EQUIVALENT) 140.58/117.32 The TRS P is empty. Hence, there is no (P,E#,R,E) chain. 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (29) 140.58/117.32 YES 140.58/117.32 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (30) 140.58/117.32 Obligation: 140.58/117.32 The TRS P consists of the following rules: 140.58/117.32 140.58/117.32 SUM(union(A, B)) -> U191^1(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 U191^1(tt, A, B) -> SUM(A) 140.58/117.32 U191^1(tt, A, B) -> SUM(B) 140.58/117.32 140.58/117.32 The TRS R consists of the following rules: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U32(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U42(tt) -> tt 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U53(tt) -> tt 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U91(tt) -> z 140.58/117.32 and(tt, X) -> X 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.32 isBinKind(z) -> tt 140.58/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 140.58/117.32 The set E consists of the following equations: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 140.58/117.32 The set E# consists of the following equations: 140.58/117.32 140.58/117.32 MULT(x, y) == MULT(y, x) 140.58/117.32 PLUS(x, y) == PLUS(y, x) 140.58/117.32 UNION(x, y) == UNION(y, x) 140.58/117.32 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.32 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.58/117.32 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (31) ESharpUsableEquationsProof (EQUIVALENT) 140.58/117.32 We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: 140.58/117.32 MULT(x, y) == MULT(y, x) 140.58/117.32 PLUS(x, y) == PLUS(y, x) 140.58/117.32 UNION(x, y) == UNION(y, x) 140.58/117.32 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.32 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.32 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.58/117.32 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (32) 140.58/117.32 Obligation: 140.58/117.32 The TRS P consists of the following rules: 140.58/117.32 140.58/117.32 SUM(union(A, B)) -> U191^1(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 U191^1(tt, A, B) -> SUM(A) 140.58/117.32 U191^1(tt, A, B) -> SUM(B) 140.58/117.32 140.58/117.32 The TRS R consists of the following rules: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U32(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U42(tt) -> tt 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U53(tt) -> tt 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U91(tt) -> z 140.58/117.32 and(tt, X) -> X 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.32 isBinKind(z) -> tt 140.58/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 140.58/117.32 The set E consists of the following equations: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 140.58/117.32 E# is empty. 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (33) EUsableRulesReductionPairsProof (EQUIVALENT) 140.58/117.32 By using the usable rules and equations with reduction pair processor [DA_STEIN] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules can be oriented non-strictly, the usable equations and the esharp equations can be oriented equivalently. All non-usable rules and equations are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 140.58/117.32 140.58/117.32 The following dependency pairs can be deleted: 140.58/117.32 140.58/117.32 SUM(union(A, B)) -> U191^1(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 The following rules are removed from R: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U91(tt) -> z 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.32 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.32 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.32 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.32 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.32 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.32 isBinKind(z) -> tt 140.58/117.32 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.32 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.32 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.32 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.32 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.32 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.32 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 prod(empty) -> 1(z) 140.58/117.32 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.32 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 sum(empty) -> 0(z) 140.58/117.32 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.32 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.32 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.32 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 The following equations are removed from E: 140.58/117.32 140.58/117.32 mult(x, y) == mult(y, x) 140.58/117.32 plus(x, y) == plus(y, x) 140.58/117.32 union(x, y) == union(y, x) 140.58/117.32 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.32 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.32 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.32 Used ordering: POLO with Polynomial interpretation [POLO]: 140.58/117.32 140.58/117.32 POL(0(x_1)) = 2 + 3*x_1 140.58/117.32 POL(1(x_1)) = 2*x_1 140.58/117.32 POL(SUM(x_1)) = 3*x_1 140.58/117.32 POL(U11(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U12(x_1)) = 2*x_1 140.58/117.32 POL(U191^1(x_1, x_2, x_3)) = x_1 + 3*x_2 + 3*x_3 140.58/117.32 POL(U21(x_1, x_2, x_3)) = x_1 + x_2 + x_3 140.58/117.32 POL(U22(x_1, x_2)) = x_1 + x_2 140.58/117.32 POL(U23(x_1)) = x_1 140.58/117.32 POL(U31(x_1, x_2)) = x_1 + 2*x_2 140.58/117.32 POL(U32(x_1)) = x_1 140.58/117.32 POL(U41(x_1, x_2)) = x_1 + x_2 140.58/117.32 POL(U42(x_1)) = x_1 140.58/117.32 POL(U51(x_1, x_2, x_3)) = 2*x_1 + x_2 + x_3 140.58/117.32 POL(U52(x_1, x_2)) = x_1 + x_2 140.58/117.32 POL(U53(x_1)) = x_1 140.58/117.32 POL(U61(x_1, x_2, x_3)) = 3 + x_1 + x_2 + 2*x_3 140.58/117.32 POL(U62(x_1, x_2)) = 2 + x_1 + x_2 140.58/117.32 POL(U63(x_1)) = x_1 140.58/117.32 POL(U71(x_1, x_2)) = x_1 + x_2 140.58/117.32 POL(U72(x_1)) = x_1 140.58/117.32 POL(U81(x_1, x_2)) = x_1 + x_2 140.58/117.32 POL(U82(x_1)) = x_1 140.58/117.32 POL(and(x_1, x_2)) = x_1 + x_2 140.58/117.32 POL(empty) = 0 140.58/117.32 POL(isBag(x_1)) = x_1 140.58/117.32 POL(isBagKind(x_1)) = 2*x_1 140.58/117.32 POL(isBin(x_1)) = x_1 140.58/117.32 POL(isBinKind(x_1)) = x_1 140.58/117.32 POL(mult(x_1, x_2)) = 3*x_1 + 3*x_2 140.58/117.32 POL(plus(x_1, x_2)) = 3 + 3*x_1 + 3*x_2 140.58/117.32 POL(prod(x_1)) = 1 + 3*x_1 140.58/117.32 POL(singl(x_1)) = 1 + 3*x_1 140.58/117.32 POL(sum(x_1)) = 3*x_1 140.58/117.32 POL(tt) = 0 140.58/117.32 POL(union(x_1, x_2)) = 3*x_1 + 3*x_2 140.58/117.32 POL(z) = 0 140.58/117.32 140.58/117.32 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (34) 140.58/117.32 Obligation: 140.58/117.32 The TRS P consists of the following rules: 140.58/117.32 140.58/117.32 U191^1(tt, A, B) -> SUM(A) 140.58/117.32 U191^1(tt, A, B) -> SUM(B) 140.58/117.32 140.58/117.32 The TRS R consists of the following rules: 140.58/117.32 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U42(tt) -> tt 140.58/117.32 and(tt, X) -> X 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U32(tt) -> tt 140.58/117.32 U53(tt) -> tt 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 140.58/117.32 E is empty. 140.58/117.32 E# is empty. 140.58/117.32 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (35) EDependencyGraphProof (EQUIVALENT) 140.58/117.32 The approximation of the Equational Dependency Graph [DA_STEIN] contains 0 SCCs with 2 less nodes. 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (36) 140.58/117.32 TRUE 140.58/117.32 140.58/117.32 ---------------------------------------- 140.58/117.32 140.58/117.32 (37) 140.58/117.32 Obligation: 140.58/117.32 The TRS P consists of the following rules: 140.58/117.32 140.58/117.32 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.32 MULT(mult(0(X), Y), ext) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 U111^1(tt, X, Y) -> MULT(X, Y) 140.58/117.32 MULT(0(X), Y) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 MULT(mult(0(X), Y), ext) -> MULT(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 MULT(mult(1(X), Y), ext) -> U111^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 MULT(1(X), Y) -> U111^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.32 MULT(mult(1(X), Y), ext) -> MULT(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.32 U101^1(tt, X, Y) -> MULT(X, Y) 140.58/117.32 140.58/117.32 The TRS R consists of the following rules: 140.58/117.32 140.58/117.32 union(X, empty) -> X 140.58/117.32 union(empty, X) -> X 140.58/117.32 0(z) -> z 140.58/117.32 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.32 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.32 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.32 U12(tt) -> tt 140.58/117.32 U121(tt, X) -> X 140.58/117.32 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.32 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.32 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.32 U161(tt, X) -> X 140.58/117.32 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.32 U181(tt, X) -> X 140.58/117.32 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.32 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.32 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.32 U23(tt) -> tt 140.58/117.32 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.32 U32(tt) -> tt 140.58/117.32 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.32 U42(tt) -> tt 140.58/117.32 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.32 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.32 U53(tt) -> tt 140.58/117.32 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.32 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.32 U63(tt) -> tt 140.58/117.32 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.32 U72(tt) -> tt 140.58/117.32 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.32 U82(tt) -> tt 140.58/117.32 U91(tt) -> z 140.58/117.32 and(tt, X) -> X 140.58/117.32 isBag(empty) -> tt 140.58/117.32 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.32 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.32 isBagKind(empty) -> tt 140.58/117.32 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.32 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.32 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 prod(empty) -> 1(z) 140.58/117.33 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.33 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 sum(empty) -> 0(z) 140.58/117.33 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.33 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 140.58/117.33 The set E consists of the following equations: 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 union(x, y) == union(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.33 140.58/117.33 The set E# consists of the following equations: 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 PLUS(x, y) == PLUS(y, x) 140.58/117.33 UNION(x, y) == UNION(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.33 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.58/117.33 140.58/117.33 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (38) ESharpUsableEquationsProof (EQUIVALENT) 140.58/117.33 We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: 140.58/117.33 PLUS(x, y) == PLUS(y, x) 140.58/117.33 UNION(x, y) == UNION(y, x) 140.58/117.33 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.33 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.58/117.33 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (39) 140.58/117.33 Obligation: 140.58/117.33 The TRS P consists of the following rules: 140.58/117.33 140.58/117.33 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 MULT(mult(0(X), Y), ext) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 U111^1(tt, X, Y) -> MULT(X, Y) 140.58/117.33 MULT(0(X), Y) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 MULT(mult(0(X), Y), ext) -> MULT(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 MULT(mult(1(X), Y), ext) -> U111^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 MULT(1(X), Y) -> U111^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 MULT(mult(1(X), Y), ext) -> MULT(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 U101^1(tt, X, Y) -> MULT(X, Y) 140.58/117.33 140.58/117.33 The TRS R consists of the following rules: 140.58/117.33 140.58/117.33 union(X, empty) -> X 140.58/117.33 union(empty, X) -> X 140.58/117.33 0(z) -> z 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 U12(tt) -> tt 140.58/117.33 U121(tt, X) -> X 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U161(tt, X) -> X 140.58/117.33 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.33 U181(tt, X) -> X 140.58/117.33 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.33 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.33 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.33 U23(tt) -> tt 140.58/117.33 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.33 U32(tt) -> tt 140.58/117.33 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.33 U42(tt) -> tt 140.58/117.33 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.33 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.33 U53(tt) -> tt 140.58/117.33 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.33 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.33 U63(tt) -> tt 140.58/117.33 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.33 U72(tt) -> tt 140.58/117.33 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.33 U82(tt) -> tt 140.58/117.33 U91(tt) -> z 140.58/117.33 and(tt, X) -> X 140.58/117.33 isBag(empty) -> tt 140.58/117.33 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.33 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.33 isBagKind(empty) -> tt 140.58/117.33 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.33 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.33 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 prod(empty) -> 1(z) 140.58/117.33 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.33 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 sum(empty) -> 0(z) 140.58/117.33 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.33 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 140.58/117.33 The set E consists of the following equations: 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 union(x, y) == union(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.33 140.58/117.33 The set E# consists of the following equations: 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 140.58/117.33 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (40) EDPPoloProof (EQUIVALENT) 140.58/117.33 We use the reduction pair processor [DA_STEIN] with a polynomial ordering [POLO]. The following set of Dependency Pairs of this DP problem can be strictly oriented. 140.58/117.33 140.58/117.33 140.58/117.33 MULT(mult(1(X), Y), ext) -> U111^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 MULT(1(X), Y) -> U111^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 MULT(mult(1(X), Y), ext) -> MULT(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 The remaining Dependency Pairs were at least non-strictly oriented. 140.58/117.33 140.58/117.33 140.58/117.33 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 MULT(mult(0(X), Y), ext) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 U111^1(tt, X, Y) -> MULT(X, Y) 140.58/117.33 MULT(0(X), Y) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 MULT(mult(0(X), Y), ext) -> MULT(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 U101^1(tt, X, Y) -> MULT(X, Y) 140.58/117.33 With the implicit AFS we had to orient the following set of usable rules of R non-strictly. 140.58/117.33 140.58/117.33 140.58/117.33 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.33 U63(tt) -> tt 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U91(tt) -> z 140.58/117.33 U42(tt) -> tt 140.58/117.33 U121(tt, X) -> X 140.58/117.33 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 U72(tt) -> tt 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.33 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.33 U53(tt) -> tt 140.58/117.33 and(tt, X) -> X 140.58/117.33 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.33 U82(tt) -> tt 140.58/117.33 0(z) -> z 140.58/117.33 U12(tt) -> tt 140.58/117.33 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 U32(tt) -> tt 140.58/117.33 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.33 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 isBag(empty) -> tt 140.58/117.33 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.33 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.33 isBagKind(empty) -> tt 140.58/117.33 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.33 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.33 U23(tt) -> tt 140.58/117.33 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.33 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.33 We had to orient the following equations of E# equivalently. 140.58/117.33 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 With the implicit AFS we had to orient the following usable equations of E equivalently. 140.58/117.33 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 Used ordering: POLO with Polynomial interpretation [POLO]: 140.58/117.33 140.58/117.33 POL(0(x_1)) = x_1 140.58/117.33 POL(1(x_1)) = 1 + x_1 140.58/117.33 POL(MULT(x_1, x_2)) = x_1 + x_1*x_2 + x_2 140.58/117.33 POL(U101(x_1, x_2, x_3)) = x_2 + x_2*x_3 + x_3 140.58/117.33 POL(U101^1(x_1, x_2, x_3)) = x_2 + x_2*x_3 + x_3 140.58/117.33 POL(U11(x_1, x_2)) = 1 140.58/117.33 POL(U111(x_1, x_2, x_3)) = x_1*x_3 + x_2 + x_2*x_3 + x_3 140.58/117.33 POL(U111^1(x_1, x_2, x_3)) = x_2 + x_2*x_3 + x_3 140.58/117.33 POL(U12(x_1)) = x_1^2 140.58/117.33 POL(U121(x_1, x_2)) = x_2 140.58/117.33 POL(U131(x_1, x_2, x_3)) = x_2 + x_3 140.58/117.33 POL(U141(x_1, x_2, x_3)) = 1 + x_2 + x_3 140.58/117.33 POL(U151(x_1, x_2, x_3)) = 1 + x_2 + x_3 140.58/117.33 POL(U21(x_1, x_2, x_3)) = x_1 140.58/117.33 POL(U22(x_1, x_2)) = 1 140.58/117.33 POL(U23(x_1)) = 1 140.58/117.33 POL(U31(x_1, x_2)) = x_1 140.58/117.33 POL(U32(x_1)) = 1 140.58/117.33 POL(U41(x_1, x_2)) = x_1 140.58/117.33 POL(U42(x_1)) = 1 140.58/117.33 POL(U51(x_1, x_2, x_3)) = 1 140.58/117.33 POL(U52(x_1, x_2)) = x_1 140.58/117.33 POL(U53(x_1)) = x_1 140.58/117.33 POL(U61(x_1, x_2, x_3)) = 1 140.58/117.33 POL(U62(x_1, x_2)) = 1 140.58/117.33 POL(U63(x_1)) = 1 140.58/117.33 POL(U71(x_1, x_2)) = 1 140.58/117.33 POL(U72(x_1)) = 1 140.58/117.33 POL(U81(x_1, x_2)) = 1 140.58/117.33 POL(U82(x_1)) = 1 140.58/117.33 POL(U91(x_1)) = 0 140.58/117.33 POL(and(x_1, x_2)) = x_1*x_2 140.58/117.33 POL(empty) = 1 140.58/117.33 POL(isBag(x_1)) = x_1^2 140.58/117.33 POL(isBagKind(x_1)) = 1 140.58/117.33 POL(isBin(x_1)) = 1 140.58/117.33 POL(isBinKind(x_1)) = 1 140.58/117.33 POL(mult(x_1, x_2)) = x_1 + x_1*x_2 + x_2 140.58/117.33 POL(plus(x_1, x_2)) = x_1 + x_2 140.58/117.33 POL(prod(x_1)) = 0 140.58/117.33 POL(singl(x_1)) = 1 140.58/117.33 POL(sum(x_1)) = 0 140.58/117.33 POL(tt) = 1 140.58/117.33 POL(union(x_1, x_2)) = 1 140.58/117.33 POL(z) = 0 140.58/117.33 140.58/117.33 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (41) 140.58/117.33 Obligation: 140.58/117.33 The TRS P consists of the following rules: 140.58/117.33 140.58/117.33 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 MULT(mult(0(X), Y), ext) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 U111^1(tt, X, Y) -> MULT(X, Y) 140.58/117.33 MULT(0(X), Y) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 MULT(mult(0(X), Y), ext) -> MULT(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 U101^1(tt, X, Y) -> MULT(X, Y) 140.58/117.33 140.58/117.33 The TRS R consists of the following rules: 140.58/117.33 140.58/117.33 union(X, empty) -> X 140.58/117.33 union(empty, X) -> X 140.58/117.33 0(z) -> z 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 U12(tt) -> tt 140.58/117.33 U121(tt, X) -> X 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U161(tt, X) -> X 140.58/117.33 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.33 U181(tt, X) -> X 140.58/117.33 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.33 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.33 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.33 U23(tt) -> tt 140.58/117.33 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.33 U32(tt) -> tt 140.58/117.33 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.33 U42(tt) -> tt 140.58/117.33 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.33 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.33 U53(tt) -> tt 140.58/117.33 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.33 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.33 U63(tt) -> tt 140.58/117.33 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.33 U72(tt) -> tt 140.58/117.33 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.33 U82(tt) -> tt 140.58/117.33 U91(tt) -> z 140.58/117.33 and(tt, X) -> X 140.58/117.33 isBag(empty) -> tt 140.58/117.33 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.33 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.33 isBagKind(empty) -> tt 140.58/117.33 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.33 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.33 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 prod(empty) -> 1(z) 140.58/117.33 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.33 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 sum(empty) -> 0(z) 140.58/117.33 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.33 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 140.58/117.33 The set E consists of the following equations: 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 union(x, y) == union(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.33 140.58/117.33 The set E# consists of the following equations: 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 140.58/117.33 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (42) EDependencyGraphProof (EQUIVALENT) 140.58/117.33 The approximation of the Equational Dependency Graph [DA_STEIN] contains 1 SCC with 1 less node. 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (43) 140.58/117.33 Obligation: 140.58/117.33 The TRS P consists of the following rules: 140.58/117.33 140.58/117.33 MULT(mult(0(X), Y), ext) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 MULT(0(X), Y) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 MULT(mult(0(X), Y), ext) -> MULT(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 U101^1(tt, X, Y) -> MULT(X, Y) 140.58/117.33 140.58/117.33 The TRS R consists of the following rules: 140.58/117.33 140.58/117.33 union(X, empty) -> X 140.58/117.33 union(empty, X) -> X 140.58/117.33 0(z) -> z 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 U12(tt) -> tt 140.58/117.33 U121(tt, X) -> X 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U161(tt, X) -> X 140.58/117.33 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.33 U181(tt, X) -> X 140.58/117.33 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.33 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.33 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.33 U23(tt) -> tt 140.58/117.33 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.33 U32(tt) -> tt 140.58/117.33 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.33 U42(tt) -> tt 140.58/117.33 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.33 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.33 U53(tt) -> tt 140.58/117.33 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.33 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.33 U63(tt) -> tt 140.58/117.33 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.33 U72(tt) -> tt 140.58/117.33 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.33 U82(tt) -> tt 140.58/117.33 U91(tt) -> z 140.58/117.33 and(tt, X) -> X 140.58/117.33 isBag(empty) -> tt 140.58/117.33 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.33 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.33 isBagKind(empty) -> tt 140.58/117.33 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.33 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.33 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 prod(empty) -> 1(z) 140.58/117.33 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.33 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 sum(empty) -> 0(z) 140.58/117.33 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.33 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 140.58/117.33 The set E consists of the following equations: 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 union(x, y) == union(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.33 140.58/117.33 The set E# consists of the following equations: 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 140.58/117.33 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (44) EDPPoloProof (EQUIVALENT) 140.58/117.33 We use the reduction pair processor [DA_STEIN] with a polynomial ordering [POLO]. The following set of Dependency Pairs of this DP problem can be strictly oriented. 140.58/117.33 140.58/117.33 140.58/117.33 MULT(mult(0(X), Y), ext) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 MULT(0(X), Y) -> U101^1(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 The remaining Dependency Pairs were at least non-strictly oriented. 140.58/117.33 140.58/117.33 140.58/117.33 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 MULT(mult(0(X), Y), ext) -> MULT(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 U101^1(tt, X, Y) -> MULT(X, Y) 140.58/117.33 With the implicit AFS we had to orient the following set of usable rules of R non-strictly. 140.58/117.33 140.58/117.33 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 U23(tt) -> tt 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 U32(tt) -> tt 140.58/117.33 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.33 isBag(empty) -> tt 140.58/117.33 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.33 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.33 0(z) -> z 140.58/117.33 U91(tt) -> z 140.58/117.33 U121(tt, X) -> X 140.58/117.33 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.33 U82(tt) -> tt 140.58/117.33 U12(tt) -> tt 140.58/117.33 U72(tt) -> tt 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U42(tt) -> tt 140.58/117.33 U63(tt) -> tt 140.58/117.33 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.33 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.33 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.33 U53(tt) -> tt 140.58/117.33 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.33 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.33 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.33 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.33 and(tt, X) -> X 140.58/117.33 isBagKind(empty) -> tt 140.58/117.33 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.33 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.33 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.33 We had to orient the following equations of E# equivalently. 140.58/117.33 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 With the implicit AFS we had to orient the following usable equations of E equivalently. 140.58/117.33 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 Used ordering: POLO with Polynomial interpretation [POLO]: 140.58/117.33 140.58/117.33 POL(0(x_1)) = 1 + x_1 140.58/117.33 POL(1(x_1)) = 1 + x_1 140.58/117.33 POL(MULT(x_1, x_2)) = x_1 + x_1*x_2 + x_2 140.58/117.33 POL(U101(x_1, x_2, x_3)) = 1 + x_1*x_3 + x_2 + x_2*x_3 140.58/117.33 POL(U101^1(x_1, x_2, x_3)) = x_2 + x_2*x_3 + x_3 140.58/117.33 POL(U11(x_1, x_2)) = 1 + x_1 140.58/117.33 POL(U111(x_1, x_2, x_3)) = 1 + x_1*x_3 + x_2 + x_2*x_3 + x_3 140.58/117.33 POL(U12(x_1)) = 1 + x_1 140.58/117.33 POL(U121(x_1, x_2)) = x_2 140.58/117.33 POL(U131(x_1, x_2, x_3)) = 1 + x_2 + x_3 140.58/117.33 POL(U141(x_1, x_2, x_3)) = 1 + x_2 + x_3 140.58/117.33 POL(U151(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 140.58/117.33 POL(U21(x_1, x_2, x_3)) = 1 140.58/117.33 POL(U22(x_1, x_2)) = 1 140.58/117.33 POL(U23(x_1)) = 1 140.58/117.33 POL(U31(x_1, x_2)) = 1 140.58/117.33 POL(U32(x_1)) = 1 140.58/117.33 POL(U41(x_1, x_2)) = 1 140.58/117.33 POL(U42(x_1)) = x_1 140.58/117.33 POL(U51(x_1, x_2, x_3)) = x_1 140.58/117.33 POL(U52(x_1, x_2)) = 1 140.58/117.33 POL(U53(x_1)) = x_1^2 140.58/117.33 POL(U61(x_1, x_2, x_3)) = 1 140.58/117.33 POL(U62(x_1, x_2)) = 1 140.58/117.33 POL(U63(x_1)) = x_1 140.58/117.33 POL(U71(x_1, x_2)) = 1 140.58/117.33 POL(U72(x_1)) = 1 140.58/117.33 POL(U81(x_1, x_2)) = 1 140.58/117.33 POL(U82(x_1)) = 1 140.58/117.33 POL(U91(x_1)) = 0 140.58/117.33 POL(and(x_1, x_2)) = x_1*x_2 140.58/117.33 POL(empty) = 1 140.58/117.33 POL(isBag(x_1)) = x_1 + x_1^2 140.58/117.33 POL(isBagKind(x_1)) = 1 140.58/117.33 POL(isBin(x_1)) = 1 140.58/117.33 POL(isBinKind(x_1)) = 1 140.58/117.33 POL(mult(x_1, x_2)) = x_1 + x_1*x_2 + x_2 140.58/117.33 POL(plus(x_1, x_2)) = x_1 + x_2 140.58/117.33 POL(prod(x_1)) = 0 140.58/117.33 POL(singl(x_1)) = 1 140.58/117.33 POL(sum(x_1)) = 0 140.58/117.33 POL(tt) = 1 140.58/117.33 POL(union(x_1, x_2)) = 1 140.58/117.33 POL(z) = 0 140.58/117.33 140.58/117.33 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (45) 140.58/117.33 Obligation: 140.58/117.33 The TRS P consists of the following rules: 140.58/117.33 140.58/117.33 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 MULT(mult(0(X), Y), ext) -> MULT(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 U101^1(tt, X, Y) -> MULT(X, Y) 140.58/117.33 140.58/117.33 The TRS R consists of the following rules: 140.58/117.33 140.58/117.33 union(X, empty) -> X 140.58/117.33 union(empty, X) -> X 140.58/117.33 0(z) -> z 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 U12(tt) -> tt 140.58/117.33 U121(tt, X) -> X 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U161(tt, X) -> X 140.58/117.33 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.33 U181(tt, X) -> X 140.58/117.33 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.33 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.33 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.33 U23(tt) -> tt 140.58/117.33 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.33 U32(tt) -> tt 140.58/117.33 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.33 U42(tt) -> tt 140.58/117.33 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.33 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.33 U53(tt) -> tt 140.58/117.33 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.33 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.33 U63(tt) -> tt 140.58/117.33 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.33 U72(tt) -> tt 140.58/117.33 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.33 U82(tt) -> tt 140.58/117.33 U91(tt) -> z 140.58/117.33 and(tt, X) -> X 140.58/117.33 isBag(empty) -> tt 140.58/117.33 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.33 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.33 isBagKind(empty) -> tt 140.58/117.33 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.33 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.33 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 prod(empty) -> 1(z) 140.58/117.33 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.33 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 sum(empty) -> 0(z) 140.58/117.33 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.33 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 140.58/117.33 The set E consists of the following equations: 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 union(x, y) == union(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.33 140.58/117.33 The set E# consists of the following equations: 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 140.58/117.33 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (46) EDependencyGraphProof (EQUIVALENT) 140.58/117.33 The approximation of the Equational Dependency Graph [DA_STEIN] contains 1 SCC with 1 less node. 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (47) 140.58/117.33 Obligation: 140.58/117.33 The TRS P consists of the following rules: 140.58/117.33 140.58/117.33 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 MULT(mult(0(X), Y), ext) -> MULT(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 140.58/117.33 The TRS R consists of the following rules: 140.58/117.33 140.58/117.33 union(X, empty) -> X 140.58/117.33 union(empty, X) -> X 140.58/117.33 0(z) -> z 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 U12(tt) -> tt 140.58/117.33 U121(tt, X) -> X 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U161(tt, X) -> X 140.58/117.33 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.33 U181(tt, X) -> X 140.58/117.33 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.33 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.33 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.33 U23(tt) -> tt 140.58/117.33 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.33 U32(tt) -> tt 140.58/117.33 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.33 U42(tt) -> tt 140.58/117.33 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.33 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.33 U53(tt) -> tt 140.58/117.33 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.33 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.33 U63(tt) -> tt 140.58/117.33 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.33 U72(tt) -> tt 140.58/117.33 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.33 U82(tt) -> tt 140.58/117.33 U91(tt) -> z 140.58/117.33 and(tt, X) -> X 140.58/117.33 isBag(empty) -> tt 140.58/117.33 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.33 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.33 isBagKind(empty) -> tt 140.58/117.33 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.33 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.33 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 prod(empty) -> 1(z) 140.58/117.33 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.33 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 sum(empty) -> 0(z) 140.58/117.33 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.33 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 140.58/117.33 The set E consists of the following equations: 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 union(x, y) == union(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.33 140.58/117.33 The set E# consists of the following equations: 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 140.58/117.33 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (48) EDPPoloProof (EQUIVALENT) 140.58/117.33 We use the reduction pair processor [DA_STEIN] with a polynomial ordering [POLO]. The following set of Dependency Pairs of this DP problem can be strictly oriented. 140.58/117.33 140.58/117.33 140.58/117.33 MULT(mult(0(X), Y), ext) -> MULT(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 The remaining Dependency Pairs were at least non-strictly oriented. 140.58/117.33 140.58/117.33 140.58/117.33 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 With the implicit AFS we had to orient the following set of usable rules of R non-strictly. 140.58/117.33 140.58/117.33 140.58/117.33 0(z) -> z 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 U91(tt) -> z 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U121(tt, X) -> X 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 We had to orient the following equations of E# equivalently. 140.58/117.33 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 With the implicit AFS we had to orient the following usable equations of E equivalently. 140.58/117.33 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 Used ordering: POLO with Polynomial interpretation [POLO]: 140.58/117.33 140.58/117.33 POL(0(x_1)) = 0 140.58/117.33 POL(1(x_1)) = 1 140.58/117.33 POL(MULT(x_1, x_2)) = x_1 + x_2 140.58/117.33 POL(U101(x_1, x_2, x_3)) = 0 140.58/117.33 POL(U11(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U111(x_1, x_2, x_3)) = 3 + x_3 140.58/117.33 POL(U12(x_1)) = 3 140.58/117.33 POL(U121(x_1, x_2)) = 3 + x_2 140.58/117.33 POL(U131(x_1, x_2, x_3)) = 2 140.58/117.33 POL(U141(x_1, x_2, x_3)) = 2 140.58/117.33 POL(U151(x_1, x_2, x_3)) = 0 140.58/117.33 POL(U21(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 140.58/117.33 POL(U22(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U23(x_1)) = 3 140.58/117.33 POL(U31(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U32(x_1)) = 3 140.58/117.33 POL(U41(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U42(x_1)) = 3 140.58/117.33 POL(U51(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 140.58/117.33 POL(U52(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U53(x_1)) = 3 140.58/117.33 POL(U61(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 140.58/117.33 POL(U62(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U63(x_1)) = 3 140.58/117.33 POL(U71(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U72(x_1)) = 3 140.58/117.33 POL(U81(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U82(x_1)) = 3 140.58/117.33 POL(U91(x_1)) = 3 140.58/117.33 POL(and(x_1, x_2)) = 0 140.58/117.33 POL(empty) = 0 140.58/117.33 POL(isBag(x_1)) = 0 140.58/117.33 POL(isBagKind(x_1)) = 0 140.58/117.33 POL(isBin(x_1)) = 0 140.58/117.33 POL(isBinKind(x_1)) = 0 140.58/117.33 POL(mult(x_1, x_2)) = 3 + x_1 + x_2 140.58/117.33 POL(plus(x_1, x_2)) = 3 + x_1 + x_2 140.58/117.33 POL(prod(x_1)) = 0 140.58/117.33 POL(singl(x_1)) = 0 140.58/117.33 POL(sum(x_1)) = 0 140.58/117.33 POL(tt) = 0 140.58/117.33 POL(union(x_1, x_2)) = 0 140.58/117.33 POL(z) = 0 140.58/117.33 140.58/117.33 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (49) 140.58/117.33 Obligation: 140.58/117.33 The TRS P consists of the following rules: 140.58/117.33 140.58/117.33 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 140.58/117.33 The TRS R consists of the following rules: 140.58/117.33 140.58/117.33 union(X, empty) -> X 140.58/117.33 union(empty, X) -> X 140.58/117.33 0(z) -> z 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 U12(tt) -> tt 140.58/117.33 U121(tt, X) -> X 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U161(tt, X) -> X 140.58/117.33 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.33 U181(tt, X) -> X 140.58/117.33 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.33 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.33 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.33 U23(tt) -> tt 140.58/117.33 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.33 U32(tt) -> tt 140.58/117.33 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.33 U42(tt) -> tt 140.58/117.33 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.33 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.33 U53(tt) -> tt 140.58/117.33 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.33 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.33 U63(tt) -> tt 140.58/117.33 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.33 U72(tt) -> tt 140.58/117.33 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.33 U82(tt) -> tt 140.58/117.33 U91(tt) -> z 140.58/117.33 and(tt, X) -> X 140.58/117.33 isBag(empty) -> tt 140.58/117.33 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.33 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.33 isBagKind(empty) -> tt 140.58/117.33 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.33 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.33 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 prod(empty) -> 1(z) 140.58/117.33 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.33 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 sum(empty) -> 0(z) 140.58/117.33 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.33 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 140.58/117.33 The set E consists of the following equations: 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 union(x, y) == union(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.33 140.58/117.33 The set E# consists of the following equations: 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 140.58/117.33 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (50) EDPPoloProof (EQUIVALENT) 140.58/117.33 We use the reduction pair processor [DA_STEIN] with a polynomial ordering [POLO]. All Dependency Pairs of this DP problem can be strictly oriented. 140.58/117.33 140.58/117.33 140.58/117.33 MULT(mult(z, X), ext) -> MULT(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 With the implicit AFS we had to orient the following set of usable rules of R non-strictly. 140.58/117.33 140.58/117.33 140.58/117.33 U91(tt) -> z 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 0(z) -> z 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 U121(tt, X) -> X 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 We had to orient the following equations of E# equivalently. 140.58/117.33 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 With the implicit AFS we had to orient the following usable equations of E equivalently. 140.58/117.33 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 Used ordering: POLO with Polynomial interpretation [POLO]: 140.58/117.33 140.58/117.33 POL(0(x_1)) = 1 140.58/117.33 POL(1(x_1)) = 2 140.58/117.33 POL(MULT(x_1, x_2)) = 2*x_1 + 2*x_2 140.58/117.33 POL(U101(x_1, x_2, x_3)) = 1 140.58/117.33 POL(U11(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U111(x_1, x_2, x_3)) = 2 + x_3 140.58/117.33 POL(U12(x_1)) = 3 140.58/117.33 POL(U121(x_1, x_2)) = 1 + x_2 140.58/117.33 POL(U131(x_1, x_2, x_3)) = 3 140.58/117.33 POL(U141(x_1, x_2, x_3)) = 2 140.58/117.33 POL(U151(x_1, x_2, x_3)) = 1 140.58/117.33 POL(U21(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 140.58/117.33 POL(U22(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U23(x_1)) = 3 140.58/117.33 POL(U31(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U32(x_1)) = 3 140.58/117.33 POL(U41(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U42(x_1)) = 3 140.58/117.33 POL(U51(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 140.58/117.33 POL(U52(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U53(x_1)) = 3 140.58/117.33 POL(U61(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 140.58/117.33 POL(U62(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U63(x_1)) = 3 140.58/117.33 POL(U71(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U72(x_1)) = 3 140.58/117.33 POL(U81(x_1, x_2)) = 3 + 3*x_2 140.58/117.33 POL(U82(x_1)) = 3 140.58/117.33 POL(U91(x_1)) = 0 140.58/117.33 POL(and(x_1, x_2)) = 0 140.58/117.33 POL(empty) = 0 140.58/117.33 POL(isBag(x_1)) = 0 140.58/117.33 POL(isBagKind(x_1)) = 0 140.58/117.33 POL(isBin(x_1)) = 0 140.58/117.33 POL(isBinKind(x_1)) = 0 140.58/117.33 POL(mult(x_1, x_2)) = 2 + x_1 + x_2 140.58/117.33 POL(plus(x_1, x_2)) = 1 + x_1 + x_2 140.58/117.33 POL(prod(x_1)) = 0 140.58/117.33 POL(singl(x_1)) = 0 140.58/117.33 POL(sum(x_1)) = 0 140.58/117.33 POL(tt) = 0 140.58/117.33 POL(union(x_1, x_2)) = 0 140.58/117.33 POL(z) = 0 140.58/117.33 140.58/117.33 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (51) 140.58/117.33 Obligation: 140.58/117.33 P is empty. 140.58/117.33 The TRS R consists of the following rules: 140.58/117.33 140.58/117.33 union(X, empty) -> X 140.58/117.33 union(empty, X) -> X 140.58/117.33 0(z) -> z 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 U12(tt) -> tt 140.58/117.33 U121(tt, X) -> X 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U161(tt, X) -> X 140.58/117.33 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.33 U181(tt, X) -> X 140.58/117.33 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.33 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.33 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.33 U23(tt) -> tt 140.58/117.33 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.33 U32(tt) -> tt 140.58/117.33 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.33 U42(tt) -> tt 140.58/117.33 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.33 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.33 U53(tt) -> tt 140.58/117.33 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.33 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.33 U63(tt) -> tt 140.58/117.33 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.33 U72(tt) -> tt 140.58/117.33 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.33 U82(tt) -> tt 140.58/117.33 U91(tt) -> z 140.58/117.33 and(tt, X) -> X 140.58/117.33 isBag(empty) -> tt 140.58/117.33 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.33 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.33 isBagKind(empty) -> tt 140.58/117.33 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.33 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.33 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 prod(empty) -> 1(z) 140.58/117.33 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.33 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 sum(empty) -> 0(z) 140.58/117.33 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.33 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 140.58/117.33 The set E consists of the following equations: 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 union(x, y) == union(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.33 140.58/117.33 The set E# consists of the following equations: 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 140.58/117.33 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (52) PisEmptyProof (EQUIVALENT) 140.58/117.33 The TRS P is empty. Hence, there is no (P,E#,R,E) chain. 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (53) 140.58/117.33 YES 140.58/117.33 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (54) 140.58/117.33 Obligation: 140.58/117.33 The TRS P consists of the following rules: 140.58/117.33 140.58/117.33 PROD(union(A, B)) -> U171^1(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 U171^1(tt, A, B) -> PROD(A) 140.58/117.33 U171^1(tt, A, B) -> PROD(B) 140.58/117.33 140.58/117.33 The TRS R consists of the following rules: 140.58/117.33 140.58/117.33 union(X, empty) -> X 140.58/117.33 union(empty, X) -> X 140.58/117.33 0(z) -> z 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 U12(tt) -> tt 140.58/117.33 U121(tt, X) -> X 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U161(tt, X) -> X 140.58/117.33 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.33 U181(tt, X) -> X 140.58/117.33 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.33 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.33 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.33 U23(tt) -> tt 140.58/117.33 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.33 U32(tt) -> tt 140.58/117.33 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.33 U42(tt) -> tt 140.58/117.33 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.33 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.33 U53(tt) -> tt 140.58/117.33 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.33 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.33 U63(tt) -> tt 140.58/117.33 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.33 U72(tt) -> tt 140.58/117.33 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.33 U82(tt) -> tt 140.58/117.33 U91(tt) -> z 140.58/117.33 and(tt, X) -> X 140.58/117.33 isBag(empty) -> tt 140.58/117.33 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.33 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.33 isBagKind(empty) -> tt 140.58/117.33 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.33 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.33 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 prod(empty) -> 1(z) 140.58/117.33 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.33 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 sum(empty) -> 0(z) 140.58/117.33 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.33 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 140.58/117.33 The set E consists of the following equations: 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 union(x, y) == union(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.33 140.58/117.33 The set E# consists of the following equations: 140.58/117.33 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 PLUS(x, y) == PLUS(y, x) 140.58/117.33 UNION(x, y) == UNION(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.33 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.58/117.33 140.58/117.33 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (55) ESharpUsableEquationsProof (EQUIVALENT) 140.58/117.33 We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: 140.58/117.33 MULT(x, y) == MULT(y, x) 140.58/117.33 PLUS(x, y) == PLUS(y, x) 140.58/117.33 UNION(x, y) == UNION(y, x) 140.58/117.33 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 140.58/117.33 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 140.58/117.33 UNION(union(x, y), z') == UNION(x, union(y, z')) 140.58/117.33 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (56) 140.58/117.33 Obligation: 140.58/117.33 The TRS P consists of the following rules: 140.58/117.33 140.58/117.33 PROD(union(A, B)) -> U171^1(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 U171^1(tt, A, B) -> PROD(A) 140.58/117.33 U171^1(tt, A, B) -> PROD(B) 140.58/117.33 140.58/117.33 The TRS R consists of the following rules: 140.58/117.33 140.58/117.33 union(X, empty) -> X 140.58/117.33 union(empty, X) -> X 140.58/117.33 0(z) -> z 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 U12(tt) -> tt 140.58/117.33 U121(tt, X) -> X 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U161(tt, X) -> X 140.58/117.33 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.33 U181(tt, X) -> X 140.58/117.33 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.33 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.33 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.33 U23(tt) -> tt 140.58/117.33 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.33 U32(tt) -> tt 140.58/117.33 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.33 U42(tt) -> tt 140.58/117.33 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.33 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.33 U53(tt) -> tt 140.58/117.33 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.33 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.33 U63(tt) -> tt 140.58/117.33 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.33 U72(tt) -> tt 140.58/117.33 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.33 U82(tt) -> tt 140.58/117.33 U91(tt) -> z 140.58/117.33 and(tt, X) -> X 140.58/117.33 isBag(empty) -> tt 140.58/117.33 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.33 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.33 isBagKind(empty) -> tt 140.58/117.33 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.33 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.33 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 prod(empty) -> 1(z) 140.58/117.33 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.33 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 sum(empty) -> 0(z) 140.58/117.33 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.33 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 140.58/117.33 The set E consists of the following equations: 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 union(x, y) == union(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.33 140.58/117.33 E# is empty. 140.58/117.33 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (57) EUsableRulesReductionPairsProof (EQUIVALENT) 140.58/117.33 By using the usable rules and equations with reduction pair processor [DA_STEIN] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules can be oriented non-strictly, the usable equations and the esharp equations can be oriented equivalently. All non-usable rules and equations are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 140.58/117.33 140.58/117.33 The following dependency pairs can be deleted: 140.58/117.33 140.58/117.33 PROD(union(A, B)) -> U171^1(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 The following rules are removed from R: 140.58/117.33 140.58/117.33 union(X, empty) -> X 140.58/117.33 union(empty, X) -> X 140.58/117.33 0(z) -> z 140.58/117.33 U101(tt, X, Y) -> 0(mult(X, Y)) 140.58/117.33 U111(tt, X, Y) -> plus(0(mult(X, Y)), Y) 140.58/117.33 U121(tt, X) -> X 140.58/117.33 U131(tt, X, Y) -> 0(plus(X, Y)) 140.58/117.33 U141(tt, X, Y) -> 1(plus(X, Y)) 140.58/117.33 U151(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 140.58/117.33 U161(tt, X) -> X 140.58/117.33 U171(tt, A, B) -> mult(prod(A), prod(B)) 140.58/117.33 U181(tt, X) -> X 140.58/117.33 U191(tt, A, B) -> plus(sum(A), sum(B)) 140.58/117.33 U61(tt, V1, V2) -> U62(isBin(V1), V2) 140.58/117.33 U62(tt, V2) -> U63(isBin(V2)) 140.58/117.33 U91(tt) -> z 140.58/117.33 isBag(empty) -> tt 140.58/117.33 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 140.58/117.33 isBag(union(V1, V2)) -> U21(and(isBagKind(V1), isBagKind(V2)), V1, V2) 140.58/117.33 isBagKind(empty) -> tt 140.58/117.33 isBagKind(singl(V1)) -> isBinKind(V1) 140.58/117.33 isBagKind(union(V1, V2)) -> and(isBagKind(V1), isBagKind(V2)) 140.58/117.33 isBin(z) -> tt 140.58/117.33 isBin(0(V1)) -> U31(isBinKind(V1), V1) 140.58/117.33 isBin(1(V1)) -> U41(isBinKind(V1), V1) 140.58/117.33 isBin(mult(V1, V2)) -> U51(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(plus(V1, V2)) -> U61(and(isBinKind(V1), isBinKind(V2)), V1, V2) 140.58/117.33 isBin(prod(V1)) -> U71(isBagKind(V1), V1) 140.58/117.33 isBin(sum(V1)) -> U81(isBagKind(V1), V1) 140.58/117.33 isBinKind(z) -> tt 140.58/117.33 isBinKind(0(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(1(V1)) -> isBinKind(V1) 140.58/117.33 isBinKind(mult(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(plus(V1, V2)) -> and(isBinKind(V1), isBinKind(V2)) 140.58/117.33 isBinKind(prod(V1)) -> isBagKind(V1) 140.58/117.33 isBinKind(sum(V1)) -> isBagKind(V1) 140.58/117.33 mult(z, X) -> U91(and(isBin(X), isBinKind(X))) 140.58/117.33 mult(0(X), Y) -> U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 mult(1(X), Y) -> U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(z, X) -> U121(and(isBin(X), isBinKind(X)), X) 140.58/117.33 plus(0(X), 0(Y)) -> U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(0(X), 1(Y)) -> U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 plus(1(X), 1(Y)) -> U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y) 140.58/117.33 prod(empty) -> 1(z) 140.58/117.33 prod(singl(X)) -> U161(and(isBin(X), isBinKind(X)), X) 140.58/117.33 prod(union(A, B)) -> U171(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 sum(empty) -> 0(z) 140.58/117.33 sum(singl(X)) -> U181(and(isBin(X), isBinKind(X)), X) 140.58/117.33 sum(union(A, B)) -> U191(and(and(isBag(A), isBagKind(A)), and(isBag(B), isBagKind(B))), A, B) 140.58/117.33 mult(mult(z, X), ext) -> mult(U91(and(isBin(X), isBinKind(X))), ext) 140.58/117.33 mult(mult(0(X), Y), ext) -> mult(U101(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 mult(mult(1(X), Y), ext) -> mult(U111(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(z, X), ext) -> plus(U121(and(isBin(X), isBinKind(X)), X), ext) 140.58/117.33 plus(plus(0(X), 0(Y)), ext) -> plus(U131(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(0(X), 1(Y)), ext) -> plus(U141(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 plus(plus(1(X), 1(Y)), ext) -> plus(U151(and(and(isBin(X), isBinKind(X)), and(isBin(Y), isBinKind(Y))), X, Y), ext) 140.58/117.33 The following equations are removed from E: 140.58/117.33 140.58/117.33 mult(x, y) == mult(y, x) 140.58/117.33 plus(x, y) == plus(y, x) 140.58/117.33 union(x, y) == union(y, x) 140.58/117.33 mult(mult(x, y), z') == mult(x, mult(y, z')) 140.58/117.33 plus(plus(x, y), z') == plus(x, plus(y, z')) 140.58/117.33 union(union(x, y), z') == union(x, union(y, z')) 140.58/117.33 Used ordering: POLO with Polynomial interpretation [POLO]: 140.58/117.33 140.58/117.33 POL(0(x_1)) = 2 + 3*x_1 140.58/117.33 POL(1(x_1)) = 2*x_1 140.58/117.33 POL(PROD(x_1)) = 3*x_1 140.58/117.33 POL(U11(x_1, x_2)) = x_1 + 2*x_2 140.58/117.33 POL(U12(x_1)) = 2*x_1 140.58/117.33 POL(U171^1(x_1, x_2, x_3)) = x_1 + 3*x_2 + 3*x_3 140.58/117.33 POL(U21(x_1, x_2, x_3)) = x_1 + x_2 + x_3 140.58/117.33 POL(U22(x_1, x_2)) = x_1 + x_2 140.58/117.33 POL(U23(x_1)) = x_1 140.58/117.33 POL(U31(x_1, x_2)) = x_1 + 2*x_2 140.58/117.33 POL(U32(x_1)) = x_1 140.58/117.33 POL(U41(x_1, x_2)) = x_1 + x_2 140.58/117.33 POL(U42(x_1)) = x_1 140.58/117.33 POL(U51(x_1, x_2, x_3)) = 2*x_1 + x_2 + x_3 140.58/117.33 POL(U52(x_1, x_2)) = x_1 + x_2 140.58/117.33 POL(U53(x_1)) = x_1 140.58/117.33 POL(U61(x_1, x_2, x_3)) = 3 + x_1 + x_2 + 2*x_3 140.58/117.33 POL(U62(x_1, x_2)) = 2 + x_1 + x_2 140.58/117.33 POL(U63(x_1)) = x_1 140.58/117.33 POL(U71(x_1, x_2)) = x_1 + x_2 140.58/117.33 POL(U72(x_1)) = x_1 140.58/117.33 POL(U81(x_1, x_2)) = x_1 + x_2 140.58/117.33 POL(U82(x_1)) = x_1 140.58/117.33 POL(and(x_1, x_2)) = x_1 + x_2 140.58/117.33 POL(empty) = 0 140.58/117.33 POL(isBag(x_1)) = x_1 140.58/117.33 POL(isBagKind(x_1)) = 2*x_1 140.58/117.33 POL(isBin(x_1)) = x_1 140.58/117.33 POL(isBinKind(x_1)) = x_1 140.58/117.33 POL(mult(x_1, x_2)) = 3*x_1 + 3*x_2 140.58/117.33 POL(plus(x_1, x_2)) = 3 + 3*x_1 + 3*x_2 140.58/117.33 POL(prod(x_1)) = 1 + 3*x_1 140.58/117.33 POL(singl(x_1)) = 1 + 3*x_1 140.58/117.33 POL(sum(x_1)) = 3*x_1 140.58/117.33 POL(tt) = 0 140.58/117.33 POL(union(x_1, x_2)) = 3*x_1 + 3*x_2 140.58/117.33 POL(z) = 0 140.58/117.33 140.58/117.33 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (58) 140.58/117.33 Obligation: 140.58/117.33 The TRS P consists of the following rules: 140.58/117.33 140.58/117.33 U171^1(tt, A, B) -> PROD(A) 140.58/117.33 U171^1(tt, A, B) -> PROD(B) 140.58/117.33 140.58/117.33 The TRS R consists of the following rules: 140.58/117.33 140.58/117.33 U51(tt, V1, V2) -> U52(isBin(V1), V2) 140.58/117.33 U42(tt) -> tt 140.58/117.33 and(tt, X) -> X 140.58/117.33 U21(tt, V1, V2) -> U22(isBag(V1), V2) 140.58/117.33 U82(tt) -> tt 140.58/117.33 U41(tt, V1) -> U42(isBin(V1)) 140.58/117.33 U11(tt, V1) -> U12(isBin(V1)) 140.58/117.33 U31(tt, V1) -> U32(isBin(V1)) 140.58/117.33 U72(tt) -> tt 140.58/117.33 U52(tt, V2) -> U53(isBin(V2)) 140.58/117.33 U23(tt) -> tt 140.58/117.33 U71(tt, V1) -> U72(isBag(V1)) 140.58/117.33 U22(tt, V2) -> U23(isBag(V2)) 140.58/117.33 U12(tt) -> tt 140.58/117.33 U32(tt) -> tt 140.58/117.33 U53(tt) -> tt 140.58/117.33 U81(tt, V1) -> U82(isBag(V1)) 140.58/117.33 U63(tt) -> tt 140.58/117.33 140.58/117.33 E is empty. 140.58/117.33 E# is empty. 140.58/117.33 We have to consider all minimal (P,E#,R,E)-chains 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (59) EDependencyGraphProof (EQUIVALENT) 140.58/117.33 The approximation of the Equational Dependency Graph [DA_STEIN] contains 0 SCCs with 2 less nodes. 140.58/117.33 ---------------------------------------- 140.58/117.33 140.58/117.33 (60) 140.58/117.33 TRUE 140.58/117.37 EOF