65.49/45.17 YES 65.82/45.26 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 65.82/45.26 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 65.82/45.26 65.82/45.26 65.82/45.26 Termination of the given ETRS could be proven: 65.82/45.26 65.82/45.26 (0) ETRS 65.82/45.26 (1) EquationalDependencyPairsProof [EQUIVALENT, 96 ms] 65.82/45.26 (2) EDP 65.82/45.26 (3) EDependencyGraphProof [EQUIVALENT, 4 ms] 65.82/45.26 (4) AND 65.82/45.26 (5) EDP 65.82/45.26 (6) ESharpUsableEquationsProof [EQUIVALENT, 0 ms] 65.82/45.26 (7) EDP 65.82/45.26 (8) EUsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 65.82/45.26 (9) EDP 65.82/45.26 (10) PisEmptyProof [EQUIVALENT, 0 ms] 65.82/45.26 (11) YES 65.82/45.26 (12) EDP 65.82/45.26 (13) ESharpUsableEquationsProof [EQUIVALENT, 0 ms] 65.82/45.26 (14) EDP 65.82/45.26 (15) EUsableRulesReductionPairsProof [EQUIVALENT, 88 ms] 65.82/45.26 (16) EDP 65.82/45.26 (17) EDependencyGraphProof [EQUIVALENT, 0 ms] 65.82/45.26 (18) TRUE 65.82/45.26 (19) EDP 65.82/45.26 (20) ESharpUsableEquationsProof [EQUIVALENT, 1 ms] 65.82/45.26 (21) EDP 65.82/45.26 (22) EDPPoloProof [EQUIVALENT, 590 ms] 65.82/45.26 (23) EDP 65.82/45.26 (24) EDependencyGraphProof [EQUIVALENT, 0 ms] 65.82/45.26 (25) EDP 65.82/45.26 (26) EDPPoloProof [EQUIVALENT, 320 ms] 65.82/45.26 (27) EDP 65.82/45.26 (28) EDPPoloProof [EQUIVALENT, 295 ms] 65.82/45.26 (29) EDP 65.82/45.26 (30) PisEmptyProof [EQUIVALENT, 0 ms] 65.82/45.26 (31) YES 65.82/45.26 (32) EDP 65.82/45.26 (33) ESharpUsableEquationsProof [EQUIVALENT, 1 ms] 65.82/45.26 (34) EDP 65.82/45.26 (35) EDPPoloProof [EQUIVALENT, 17.8 s] 65.82/45.26 (36) EDP 65.82/45.26 (37) EDependencyGraphProof [EQUIVALENT, 0 ms] 65.82/45.26 (38) EDP 65.82/45.26 (39) EDPPoloProof [EQUIVALENT, 16.7 s] 65.82/45.26 (40) EDP 65.82/45.26 (41) EDependencyGraphProof [EQUIVALENT, 0 ms] 65.82/45.26 (42) EDP 65.82/45.26 (43) EDPPoloProof [EQUIVALENT, 466 ms] 65.82/45.26 (44) EDP 65.82/45.26 (45) PisEmptyProof [EQUIVALENT, 0 ms] 65.82/45.26 (46) YES 65.82/45.26 (47) EDP 65.82/45.26 (48) ESharpUsableEquationsProof [EQUIVALENT, 0 ms] 65.82/45.26 (49) EDP 65.82/45.26 (50) EUsableRulesReductionPairsProof [EQUIVALENT, 6 ms] 65.82/45.26 (51) EDP 65.82/45.26 (52) EDependencyGraphProof [EQUIVALENT, 0 ms] 65.82/45.26 (53) TRUE 65.82/45.26 (54) EDP 65.82/45.26 (55) ESharpUsableEquationsProof [EQUIVALENT, 0 ms] 65.82/45.26 (56) EDP 65.82/45.26 (57) EUsableRulesReductionPairsProof [EQUIVALENT, 13 ms] 65.82/45.26 (58) EDP 65.82/45.26 (59) EDependencyGraphProof [EQUIVALENT, 0 ms] 65.82/45.26 (60) TRUE 65.82/45.26 65.82/45.26 65.82/45.26 ---------------------------------------- 65.82/45.26 65.82/45.26 (0) 65.82/45.26 Obligation: 65.82/45.26 Equational rewrite system: 65.82/45.26 The TRS R consists of the following rules: 65.82/45.26 65.82/45.26 union(X, empty) -> X 65.82/45.26 union(empty, X) -> X 65.82/45.26 0(z) -> z 65.82/45.26 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.26 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.26 U103(tt) -> tt 65.82/45.26 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.26 U111(tt) -> tt 65.82/45.26 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.26 U121(tt) -> tt 65.82/45.26 U13(tt) -> tt 65.82/45.26 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.26 U132(tt) -> tt 65.82/45.26 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.26 U142(tt) -> tt 65.82/45.26 U151(tt) -> tt 65.82/45.26 U161(tt) -> tt 65.82/45.26 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.26 U172(tt) -> z 65.82/45.26 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.26 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.26 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.26 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.26 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.26 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.26 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.26 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.26 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.26 U202(tt, X) -> X 65.82/45.26 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.26 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.26 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.26 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.26 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.26 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.26 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.26 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.26 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.26 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.26 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.26 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.26 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.26 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.26 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.26 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.26 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.26 U242(tt, X) -> X 65.82/45.26 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.26 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.26 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.26 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.26 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.26 U26(tt) -> tt 65.82/45.26 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.26 U262(tt, X) -> X 65.82/45.26 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.26 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.26 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.26 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.26 U31(tt) -> tt 65.82/45.26 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.26 U42(tt) -> tt 65.82/45.26 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.26 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.26 U53(tt) -> tt 65.82/45.26 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.26 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.26 U63(tt) -> tt 65.82/45.26 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.26 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.26 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.26 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.26 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.26 U76(tt) -> tt 65.82/45.26 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.26 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.26 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.26 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.26 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.26 U86(tt) -> tt 65.82/45.26 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.26 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.26 U93(tt) -> tt 65.82/45.26 isBag(empty) -> tt 65.82/45.26 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.26 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.26 isBagKind(empty) -> tt 65.82/45.26 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.26 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.26 isBin(z) -> tt 65.82/45.26 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.26 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.26 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.26 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.26 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.26 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.26 isBinKind(z) -> tt 65.82/45.26 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.26 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.26 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.26 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.26 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.26 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.26 mult(z, X) -> U171(isBin(X), X) 65.82/45.26 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.26 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.26 plus(z, X) -> U201(isBin(X), X) 65.82/45.26 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.26 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.26 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.26 prod(empty) -> 1(z) 65.82/45.26 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.26 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.26 sum(empty) -> 0(z) 65.82/45.26 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.26 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.26 65.82/45.26 The set E consists of the following equations: 65.82/45.26 65.82/45.26 mult(x, y) == mult(y, x) 65.82/45.26 plus(x, y) == plus(y, x) 65.82/45.26 union(x, y) == union(y, x) 65.82/45.26 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.26 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.26 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.26 65.82/45.26 65.82/45.26 ---------------------------------------- 65.82/45.26 65.82/45.26 (1) EquationalDependencyPairsProof (EQUIVALENT) 65.82/45.26 Using Dependency Pairs [AG00,DA_STEIN] we result in the following initial EDP problem: 65.82/45.26 The TRS P consists of the following rules: 65.82/45.26 65.82/45.26 U101^1(tt, V1) -> U102^1(isBagKind(V1), V1) 65.82/45.26 U101^1(tt, V1) -> ISBAGKIND(V1) 65.82/45.26 U102^1(tt, V1) -> U103^1(isBag(V1)) 65.82/45.26 U102^1(tt, V1) -> ISBAG(V1) 65.82/45.26 U11^1(tt, V1) -> U12^1(isBinKind(V1), V1) 65.82/45.26 U11^1(tt, V1) -> ISBINKIND(V1) 65.82/45.26 U12^1(tt, V1) -> U13^1(isBin(V1)) 65.82/45.26 U12^1(tt, V1) -> ISBIN(V1) 65.82/45.26 U131^1(tt, V2) -> U132^1(isBinKind(V2)) 65.82/45.26 U131^1(tt, V2) -> ISBINKIND(V2) 65.82/45.26 U141^1(tt, V2) -> U142^1(isBinKind(V2)) 65.82/45.26 U141^1(tt, V2) -> ISBINKIND(V2) 65.82/45.26 U171^1(tt, X) -> U172^1(isBinKind(X)) 65.82/45.26 U171^1(tt, X) -> ISBINKIND(X) 65.82/45.26 U181^1(tt, X, Y) -> U182^1(isBinKind(X), X, Y) 65.82/45.26 U181^1(tt, X, Y) -> ISBINKIND(X) 65.82/45.26 U182^1(tt, X, Y) -> U183^1(isBin(Y), X, Y) 65.82/45.26 U182^1(tt, X, Y) -> ISBIN(Y) 65.82/45.26 U183^1(tt, X, Y) -> U184^1(isBinKind(Y), X, Y) 65.82/45.26 U183^1(tt, X, Y) -> ISBINKIND(Y) 65.82/45.26 U184^1(tt, X, Y) -> 0^1(mult(X, Y)) 65.82/45.26 U184^1(tt, X, Y) -> MULT(X, Y) 65.82/45.26 U191^1(tt, X, Y) -> U192^1(isBinKind(X), X, Y) 65.82/45.26 U191^1(tt, X, Y) -> ISBINKIND(X) 65.82/45.26 U192^1(tt, X, Y) -> U193^1(isBin(Y), X, Y) 65.82/45.26 U192^1(tt, X, Y) -> ISBIN(Y) 65.82/45.26 U193^1(tt, X, Y) -> U194^1(isBinKind(Y), X, Y) 65.82/45.26 U193^1(tt, X, Y) -> ISBINKIND(Y) 65.82/45.26 U194^1(tt, X, Y) -> PLUS(0(mult(X, Y)), Y) 65.82/45.26 U194^1(tt, X, Y) -> 0^1(mult(X, Y)) 65.82/45.26 U194^1(tt, X, Y) -> MULT(X, Y) 65.82/45.26 U201^1(tt, X) -> U202^1(isBinKind(X), X) 65.82/45.26 U201^1(tt, X) -> ISBINKIND(X) 65.82/45.26 U21^1(tt, V1, V2) -> U22^1(isBagKind(V1), V1, V2) 65.82/45.26 U21^1(tt, V1, V2) -> ISBAGKIND(V1) 65.82/45.26 U211^1(tt, X, Y) -> U212^1(isBinKind(X), X, Y) 65.82/45.26 U211^1(tt, X, Y) -> ISBINKIND(X) 65.82/45.26 U212^1(tt, X, Y) -> U213^1(isBin(Y), X, Y) 65.82/45.26 U212^1(tt, X, Y) -> ISBIN(Y) 65.82/45.26 U213^1(tt, X, Y) -> U214^1(isBinKind(Y), X, Y) 65.82/45.26 U213^1(tt, X, Y) -> ISBINKIND(Y) 65.82/45.26 U214^1(tt, X, Y) -> 0^1(plus(X, Y)) 65.82/45.26 U214^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.26 U22^1(tt, V1, V2) -> U23^1(isBagKind(V2), V1, V2) 65.82/45.26 U22^1(tt, V1, V2) -> ISBAGKIND(V2) 65.82/45.26 U221^1(tt, X, Y) -> U222^1(isBinKind(X), X, Y) 65.82/45.26 U221^1(tt, X, Y) -> ISBINKIND(X) 65.82/45.26 U222^1(tt, X, Y) -> U223^1(isBin(Y), X, Y) 65.82/45.26 U222^1(tt, X, Y) -> ISBIN(Y) 65.82/45.26 U223^1(tt, X, Y) -> U224^1(isBinKind(Y), X, Y) 65.82/45.26 U223^1(tt, X, Y) -> ISBINKIND(Y) 65.82/45.26 U224^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.26 U23^1(tt, V1, V2) -> U24^1(isBagKind(V2), V1, V2) 65.82/45.26 U23^1(tt, V1, V2) -> ISBAGKIND(V2) 65.82/45.26 U231^1(tt, X, Y) -> U232^1(isBinKind(X), X, Y) 65.82/45.26 U231^1(tt, X, Y) -> ISBINKIND(X) 65.82/45.26 U232^1(tt, X, Y) -> U233^1(isBin(Y), X, Y) 65.82/45.26 U232^1(tt, X, Y) -> ISBIN(Y) 65.82/45.26 U233^1(tt, X, Y) -> U234^1(isBinKind(Y), X, Y) 65.82/45.26 U233^1(tt, X, Y) -> ISBINKIND(Y) 65.82/45.26 U234^1(tt, X, Y) -> 0^1(plus(plus(X, Y), 1(z))) 65.82/45.26 U234^1(tt, X, Y) -> PLUS(plus(X, Y), 1(z)) 65.82/45.26 U234^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.26 U24^1(tt, V1, V2) -> U25^1(isBag(V1), V2) 65.82/45.26 U24^1(tt, V1, V2) -> ISBAG(V1) 65.82/45.26 U241^1(tt, X) -> U242^1(isBinKind(X), X) 65.82/45.26 U241^1(tt, X) -> ISBINKIND(X) 65.82/45.26 U25^1(tt, V2) -> U26^1(isBag(V2)) 65.82/45.26 U25^1(tt, V2) -> ISBAG(V2) 65.82/45.26 U251^1(tt, A, B) -> U252^1(isBagKind(A), A, B) 65.82/45.26 U251^1(tt, A, B) -> ISBAGKIND(A) 65.82/45.26 U252^1(tt, A, B) -> U253^1(isBag(B), A, B) 65.82/45.26 U252^1(tt, A, B) -> ISBAG(B) 65.82/45.26 U253^1(tt, A, B) -> U254^1(isBagKind(B), A, B) 65.82/45.26 U253^1(tt, A, B) -> ISBAGKIND(B) 65.82/45.26 U254^1(tt, A, B) -> MULT(prod(A), prod(B)) 65.82/45.26 U254^1(tt, A, B) -> PROD(A) 65.82/45.26 U254^1(tt, A, B) -> PROD(B) 65.82/45.26 U261^1(tt, X) -> U262^1(isBinKind(X), X) 65.82/45.26 U261^1(tt, X) -> ISBINKIND(X) 65.82/45.26 U271^1(tt, A, B) -> U272^1(isBagKind(A), A, B) 65.82/45.26 U271^1(tt, A, B) -> ISBAGKIND(A) 65.82/45.26 U272^1(tt, A, B) -> U273^1(isBag(B), A, B) 65.82/45.26 U272^1(tt, A, B) -> ISBAG(B) 65.82/45.26 U273^1(tt, A, B) -> U274^1(isBagKind(B), A, B) 65.82/45.26 U273^1(tt, A, B) -> ISBAGKIND(B) 65.82/45.26 U274^1(tt, A, B) -> PLUS(sum(A), sum(B)) 65.82/45.26 U274^1(tt, A, B) -> SUM(A) 65.82/45.26 U274^1(tt, A, B) -> SUM(B) 65.82/45.26 U41^1(tt, V2) -> U42^1(isBagKind(V2)) 65.82/45.26 U41^1(tt, V2) -> ISBAGKIND(V2) 65.82/45.26 U51^1(tt, V1) -> U52^1(isBinKind(V1), V1) 65.82/45.26 U51^1(tt, V1) -> ISBINKIND(V1) 65.82/45.26 U52^1(tt, V1) -> U53^1(isBin(V1)) 65.82/45.26 U52^1(tt, V1) -> ISBIN(V1) 65.82/45.26 U61^1(tt, V1) -> U62^1(isBinKind(V1), V1) 65.82/45.26 U61^1(tt, V1) -> ISBINKIND(V1) 65.82/45.26 U62^1(tt, V1) -> U63^1(isBin(V1)) 65.82/45.26 U62^1(tt, V1) -> ISBIN(V1) 65.82/45.26 U71^1(tt, V1, V2) -> U72^1(isBinKind(V1), V1, V2) 65.82/45.26 U71^1(tt, V1, V2) -> ISBINKIND(V1) 65.82/45.26 U72^1(tt, V1, V2) -> U73^1(isBinKind(V2), V1, V2) 65.82/45.26 U72^1(tt, V1, V2) -> ISBINKIND(V2) 65.82/45.26 U73^1(tt, V1, V2) -> U74^1(isBinKind(V2), V1, V2) 65.82/45.26 U73^1(tt, V1, V2) -> ISBINKIND(V2) 65.82/45.26 U74^1(tt, V1, V2) -> U75^1(isBin(V1), V2) 65.82/45.26 U74^1(tt, V1, V2) -> ISBIN(V1) 65.82/45.26 U75^1(tt, V2) -> U76^1(isBin(V2)) 65.82/45.26 U75^1(tt, V2) -> ISBIN(V2) 65.82/45.26 U81^1(tt, V1, V2) -> U82^1(isBinKind(V1), V1, V2) 65.82/45.26 U81^1(tt, V1, V2) -> ISBINKIND(V1) 65.82/45.26 U82^1(tt, V1, V2) -> U83^1(isBinKind(V2), V1, V2) 65.82/45.26 U82^1(tt, V1, V2) -> ISBINKIND(V2) 65.82/45.26 U83^1(tt, V1, V2) -> U84^1(isBinKind(V2), V1, V2) 65.82/45.26 U83^1(tt, V1, V2) -> ISBINKIND(V2) 65.82/45.26 U84^1(tt, V1, V2) -> U85^1(isBin(V1), V2) 65.82/45.26 U84^1(tt, V1, V2) -> ISBIN(V1) 65.82/45.26 U85^1(tt, V2) -> U86^1(isBin(V2)) 65.82/45.26 U85^1(tt, V2) -> ISBIN(V2) 65.82/45.26 U91^1(tt, V1) -> U92^1(isBagKind(V1), V1) 65.82/45.26 U91^1(tt, V1) -> ISBAGKIND(V1) 65.82/45.26 U92^1(tt, V1) -> U93^1(isBag(V1)) 65.82/45.26 U92^1(tt, V1) -> ISBAG(V1) 65.82/45.26 ISBAG(singl(V1)) -> U11^1(isBinKind(V1), V1) 65.82/45.26 ISBAG(singl(V1)) -> ISBINKIND(V1) 65.82/45.26 ISBAG(union(V1, V2)) -> U21^1(isBagKind(V1), V1, V2) 65.82/45.26 ISBAG(union(V1, V2)) -> ISBAGKIND(V1) 65.82/45.26 ISBAGKIND(singl(V1)) -> U31^1(isBinKind(V1)) 65.82/45.26 ISBAGKIND(singl(V1)) -> ISBINKIND(V1) 65.82/45.26 ISBAGKIND(union(V1, V2)) -> U41^1(isBagKind(V1), V2) 65.82/45.26 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V1) 65.82/45.26 ISBIN(0(V1)) -> U51^1(isBinKind(V1), V1) 65.82/45.26 ISBIN(0(V1)) -> ISBINKIND(V1) 65.82/45.26 ISBIN(1(V1)) -> U61^1(isBinKind(V1), V1) 65.82/45.26 ISBIN(1(V1)) -> ISBINKIND(V1) 65.82/45.26 ISBIN(mult(V1, V2)) -> U71^1(isBinKind(V1), V1, V2) 65.82/45.26 ISBIN(mult(V1, V2)) -> ISBINKIND(V1) 65.82/45.26 ISBIN(plus(V1, V2)) -> U81^1(isBinKind(V1), V1, V2) 65.82/45.26 ISBIN(plus(V1, V2)) -> ISBINKIND(V1) 65.82/45.26 ISBIN(prod(V1)) -> U91^1(isBagKind(V1), V1) 65.82/45.26 ISBIN(prod(V1)) -> ISBAGKIND(V1) 65.82/45.26 ISBIN(sum(V1)) -> U101^1(isBagKind(V1), V1) 65.82/45.26 ISBIN(sum(V1)) -> ISBAGKIND(V1) 65.82/45.26 ISBINKIND(0(V1)) -> U111^1(isBinKind(V1)) 65.82/45.26 ISBINKIND(0(V1)) -> ISBINKIND(V1) 65.82/45.26 ISBINKIND(1(V1)) -> U121^1(isBinKind(V1)) 65.82/45.26 ISBINKIND(1(V1)) -> ISBINKIND(V1) 65.82/45.26 ISBINKIND(mult(V1, V2)) -> U131^1(isBinKind(V1), V2) 65.82/45.26 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V1) 65.82/45.26 ISBINKIND(plus(V1, V2)) -> U141^1(isBinKind(V1), V2) 65.82/45.26 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V1) 65.82/45.26 ISBINKIND(prod(V1)) -> U151^1(isBagKind(V1)) 65.82/45.26 ISBINKIND(prod(V1)) -> ISBAGKIND(V1) 65.82/45.26 ISBINKIND(sum(V1)) -> U161^1(isBagKind(V1)) 65.82/45.26 ISBINKIND(sum(V1)) -> ISBAGKIND(V1) 65.82/45.26 MULT(z, X) -> U171^1(isBin(X), X) 65.82/45.26 MULT(z, X) -> ISBIN(X) 65.82/45.26 MULT(0(X), Y) -> U181^1(isBin(X), X, Y) 65.82/45.26 MULT(0(X), Y) -> ISBIN(X) 65.82/45.26 MULT(1(X), Y) -> U191^1(isBin(X), X, Y) 65.82/45.26 MULT(1(X), Y) -> ISBIN(X) 65.82/45.26 PLUS(z, X) -> U201^1(isBin(X), X) 65.82/45.26 PLUS(z, X) -> ISBIN(X) 65.82/45.26 PLUS(0(X), 0(Y)) -> U211^1(isBin(X), X, Y) 65.82/45.26 PLUS(0(X), 0(Y)) -> ISBIN(X) 65.82/45.26 PLUS(0(X), 1(Y)) -> U221^1(isBin(X), X, Y) 65.82/45.26 PLUS(0(X), 1(Y)) -> ISBIN(X) 65.82/45.26 PLUS(1(X), 1(Y)) -> U231^1(isBin(X), X, Y) 65.82/45.26 PLUS(1(X), 1(Y)) -> ISBIN(X) 65.82/45.26 PROD(singl(X)) -> U241^1(isBin(X), X) 65.82/45.26 PROD(singl(X)) -> ISBIN(X) 65.82/45.26 PROD(union(A, B)) -> U251^1(isBag(A), A, B) 65.82/45.26 PROD(union(A, B)) -> ISBAG(A) 65.82/45.26 SUM(empty) -> 0^1(z) 65.82/45.26 SUM(singl(X)) -> U261^1(isBin(X), X) 65.82/45.26 SUM(singl(X)) -> ISBIN(X) 65.82/45.26 SUM(union(A, B)) -> U271^1(isBag(A), A, B) 65.82/45.26 SUM(union(A, B)) -> ISBAG(A) 65.82/45.26 MULT(mult(z, X), ext) -> MULT(U171(isBin(X), X), ext) 65.82/45.26 MULT(mult(z, X), ext) -> U171^1(isBin(X), X) 65.82/45.26 MULT(mult(z, X), ext) -> ISBIN(X) 65.82/45.26 MULT(mult(0(X), Y), ext) -> MULT(U181(isBin(X), X, Y), ext) 65.82/45.26 MULT(mult(0(X), Y), ext) -> U181^1(isBin(X), X, Y) 65.82/45.26 MULT(mult(0(X), Y), ext) -> ISBIN(X) 65.82/45.26 MULT(mult(1(X), Y), ext) -> MULT(U191(isBin(X), X, Y), ext) 65.82/45.26 MULT(mult(1(X), Y), ext) -> U191^1(isBin(X), X, Y) 65.82/45.26 MULT(mult(1(X), Y), ext) -> ISBIN(X) 65.82/45.26 PLUS(plus(z, X), ext) -> PLUS(U201(isBin(X), X), ext) 65.82/45.26 PLUS(plus(z, X), ext) -> U201^1(isBin(X), X) 65.82/45.26 PLUS(plus(z, X), ext) -> ISBIN(X) 65.82/45.26 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U211(isBin(X), X, Y), ext) 65.82/45.26 PLUS(plus(0(X), 0(Y)), ext) -> U211^1(isBin(X), X, Y) 65.82/45.26 PLUS(plus(0(X), 0(Y)), ext) -> ISBIN(X) 65.82/45.26 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U221(isBin(X), X, Y), ext) 65.82/45.26 PLUS(plus(0(X), 1(Y)), ext) -> U221^1(isBin(X), X, Y) 65.82/45.26 PLUS(plus(0(X), 1(Y)), ext) -> ISBIN(X) 65.82/45.26 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U231(isBin(X), X, Y), ext) 65.82/45.26 PLUS(plus(1(X), 1(Y)), ext) -> U231^1(isBin(X), X, Y) 65.82/45.26 PLUS(plus(1(X), 1(Y)), ext) -> ISBIN(X) 65.82/45.26 65.82/45.26 The TRS R consists of the following rules: 65.82/45.26 65.82/45.26 union(X, empty) -> X 65.82/45.26 union(empty, X) -> X 65.82/45.26 0(z) -> z 65.82/45.26 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.26 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.26 U103(tt) -> tt 65.82/45.26 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.26 U111(tt) -> tt 65.82/45.26 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.26 U121(tt) -> tt 65.82/45.26 U13(tt) -> tt 65.82/45.26 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.26 U132(tt) -> tt 65.82/45.26 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.26 U142(tt) -> tt 65.82/45.26 U151(tt) -> tt 65.82/45.26 U161(tt) -> tt 65.82/45.26 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.26 U172(tt) -> z 65.82/45.26 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.26 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.26 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.26 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.26 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.26 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.26 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.26 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.26 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.26 U202(tt, X) -> X 65.82/45.26 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.26 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.26 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.26 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.26 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.26 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.26 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.26 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.26 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.26 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.26 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.26 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.26 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.26 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.26 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.26 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.26 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.26 U242(tt, X) -> X 65.82/45.26 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.26 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.26 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.26 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.26 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.26 U26(tt) -> tt 65.82/45.26 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.26 U262(tt, X) -> X 65.82/45.26 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.26 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.26 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.26 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.26 U31(tt) -> tt 65.82/45.26 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.26 U42(tt) -> tt 65.82/45.26 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.26 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.26 U53(tt) -> tt 65.82/45.26 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.26 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.26 U63(tt) -> tt 65.82/45.26 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.26 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.26 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.26 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.26 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.26 U76(tt) -> tt 65.82/45.26 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.26 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.26 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.26 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.26 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.26 U86(tt) -> tt 65.82/45.26 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.26 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.26 U93(tt) -> tt 65.82/45.26 isBag(empty) -> tt 65.82/45.26 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.26 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.26 isBagKind(empty) -> tt 65.82/45.26 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.26 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.26 isBin(z) -> tt 65.82/45.26 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.26 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.26 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.26 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.26 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.26 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.26 isBinKind(z) -> tt 65.82/45.26 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.26 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.26 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.26 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.26 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.26 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.26 mult(z, X) -> U171(isBin(X), X) 65.82/45.26 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.26 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.26 plus(z, X) -> U201(isBin(X), X) 65.82/45.26 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.26 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.26 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.26 prod(empty) -> 1(z) 65.82/45.26 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.26 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.26 sum(empty) -> 0(z) 65.82/45.26 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.26 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.26 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.26 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.26 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.26 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.26 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.26 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.26 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.26 65.82/45.26 The set E consists of the following equations: 65.82/45.26 65.82/45.26 mult(x, y) == mult(y, x) 65.82/45.26 plus(x, y) == plus(y, x) 65.82/45.26 union(x, y) == union(y, x) 65.82/45.26 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.26 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.26 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.26 65.82/45.26 The set E# consists of the following equations: 65.82/45.26 65.82/45.26 MULT(x, y) == MULT(y, x) 65.82/45.26 PLUS(x, y) == PLUS(y, x) 65.82/45.26 UNION(x, y) == UNION(y, x) 65.82/45.26 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.26 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.26 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.26 65.82/45.26 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.26 65.82/45.26 ---------------------------------------- 65.82/45.26 65.82/45.26 (2) 65.82/45.26 Obligation: 65.82/45.26 The TRS P consists of the following rules: 65.82/45.26 65.82/45.26 U101^1(tt, V1) -> U102^1(isBagKind(V1), V1) 65.82/45.26 U101^1(tt, V1) -> ISBAGKIND(V1) 65.82/45.26 U102^1(tt, V1) -> U103^1(isBag(V1)) 65.82/45.26 U102^1(tt, V1) -> ISBAG(V1) 65.82/45.26 U11^1(tt, V1) -> U12^1(isBinKind(V1), V1) 65.82/45.26 U11^1(tt, V1) -> ISBINKIND(V1) 65.82/45.26 U12^1(tt, V1) -> U13^1(isBin(V1)) 65.82/45.26 U12^1(tt, V1) -> ISBIN(V1) 65.82/45.26 U131^1(tt, V2) -> U132^1(isBinKind(V2)) 65.82/45.26 U131^1(tt, V2) -> ISBINKIND(V2) 65.82/45.26 U141^1(tt, V2) -> U142^1(isBinKind(V2)) 65.82/45.26 U141^1(tt, V2) -> ISBINKIND(V2) 65.82/45.26 U171^1(tt, X) -> U172^1(isBinKind(X)) 65.82/45.26 U171^1(tt, X) -> ISBINKIND(X) 65.82/45.26 U181^1(tt, X, Y) -> U182^1(isBinKind(X), X, Y) 65.82/45.26 U181^1(tt, X, Y) -> ISBINKIND(X) 65.82/45.26 U182^1(tt, X, Y) -> U183^1(isBin(Y), X, Y) 65.82/45.26 U182^1(tt, X, Y) -> ISBIN(Y) 65.82/45.26 U183^1(tt, X, Y) -> U184^1(isBinKind(Y), X, Y) 65.82/45.26 U183^1(tt, X, Y) -> ISBINKIND(Y) 65.82/45.26 U184^1(tt, X, Y) -> 0^1(mult(X, Y)) 65.82/45.26 U184^1(tt, X, Y) -> MULT(X, Y) 65.82/45.26 U191^1(tt, X, Y) -> U192^1(isBinKind(X), X, Y) 65.82/45.26 U191^1(tt, X, Y) -> ISBINKIND(X) 65.82/45.26 U192^1(tt, X, Y) -> U193^1(isBin(Y), X, Y) 65.82/45.26 U192^1(tt, X, Y) -> ISBIN(Y) 65.82/45.26 U193^1(tt, X, Y) -> U194^1(isBinKind(Y), X, Y) 65.82/45.26 U193^1(tt, X, Y) -> ISBINKIND(Y) 65.82/45.26 U194^1(tt, X, Y) -> PLUS(0(mult(X, Y)), Y) 65.82/45.26 U194^1(tt, X, Y) -> 0^1(mult(X, Y)) 65.82/45.26 U194^1(tt, X, Y) -> MULT(X, Y) 65.82/45.26 U201^1(tt, X) -> U202^1(isBinKind(X), X) 65.82/45.26 U201^1(tt, X) -> ISBINKIND(X) 65.82/45.26 U21^1(tt, V1, V2) -> U22^1(isBagKind(V1), V1, V2) 65.82/45.26 U21^1(tt, V1, V2) -> ISBAGKIND(V1) 65.82/45.26 U211^1(tt, X, Y) -> U212^1(isBinKind(X), X, Y) 65.82/45.26 U211^1(tt, X, Y) -> ISBINKIND(X) 65.82/45.26 U212^1(tt, X, Y) -> U213^1(isBin(Y), X, Y) 65.82/45.26 U212^1(tt, X, Y) -> ISBIN(Y) 65.82/45.26 U213^1(tt, X, Y) -> U214^1(isBinKind(Y), X, Y) 65.82/45.26 U213^1(tt, X, Y) -> ISBINKIND(Y) 65.82/45.26 U214^1(tt, X, Y) -> 0^1(plus(X, Y)) 65.82/45.26 U214^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.26 U22^1(tt, V1, V2) -> U23^1(isBagKind(V2), V1, V2) 65.82/45.26 U22^1(tt, V1, V2) -> ISBAGKIND(V2) 65.82/45.26 U221^1(tt, X, Y) -> U222^1(isBinKind(X), X, Y) 65.82/45.26 U221^1(tt, X, Y) -> ISBINKIND(X) 65.82/45.26 U222^1(tt, X, Y) -> U223^1(isBin(Y), X, Y) 65.82/45.26 U222^1(tt, X, Y) -> ISBIN(Y) 65.82/45.26 U223^1(tt, X, Y) -> U224^1(isBinKind(Y), X, Y) 65.82/45.26 U223^1(tt, X, Y) -> ISBINKIND(Y) 65.82/45.26 U224^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.26 U23^1(tt, V1, V2) -> U24^1(isBagKind(V2), V1, V2) 65.82/45.26 U23^1(tt, V1, V2) -> ISBAGKIND(V2) 65.82/45.26 U231^1(tt, X, Y) -> U232^1(isBinKind(X), X, Y) 65.82/45.26 U231^1(tt, X, Y) -> ISBINKIND(X) 65.82/45.26 U232^1(tt, X, Y) -> U233^1(isBin(Y), X, Y) 65.82/45.26 U232^1(tt, X, Y) -> ISBIN(Y) 65.82/45.26 U233^1(tt, X, Y) -> U234^1(isBinKind(Y), X, Y) 65.82/45.26 U233^1(tt, X, Y) -> ISBINKIND(Y) 65.82/45.26 U234^1(tt, X, Y) -> 0^1(plus(plus(X, Y), 1(z))) 65.82/45.26 U234^1(tt, X, Y) -> PLUS(plus(X, Y), 1(z)) 65.82/45.26 U234^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.26 U24^1(tt, V1, V2) -> U25^1(isBag(V1), V2) 65.82/45.26 U24^1(tt, V1, V2) -> ISBAG(V1) 65.82/45.26 U241^1(tt, X) -> U242^1(isBinKind(X), X) 65.82/45.26 U241^1(tt, X) -> ISBINKIND(X) 65.82/45.26 U25^1(tt, V2) -> U26^1(isBag(V2)) 65.82/45.26 U25^1(tt, V2) -> ISBAG(V2) 65.82/45.26 U251^1(tt, A, B) -> U252^1(isBagKind(A), A, B) 65.82/45.26 U251^1(tt, A, B) -> ISBAGKIND(A) 65.82/45.26 U252^1(tt, A, B) -> U253^1(isBag(B), A, B) 65.82/45.26 U252^1(tt, A, B) -> ISBAG(B) 65.82/45.26 U253^1(tt, A, B) -> U254^1(isBagKind(B), A, B) 65.82/45.26 U253^1(tt, A, B) -> ISBAGKIND(B) 65.82/45.26 U254^1(tt, A, B) -> MULT(prod(A), prod(B)) 65.82/45.26 U254^1(tt, A, B) -> PROD(A) 65.82/45.26 U254^1(tt, A, B) -> PROD(B) 65.82/45.26 U261^1(tt, X) -> U262^1(isBinKind(X), X) 65.82/45.26 U261^1(tt, X) -> ISBINKIND(X) 65.82/45.26 U271^1(tt, A, B) -> U272^1(isBagKind(A), A, B) 65.82/45.26 U271^1(tt, A, B) -> ISBAGKIND(A) 65.82/45.26 U272^1(tt, A, B) -> U273^1(isBag(B), A, B) 65.82/45.26 U272^1(tt, A, B) -> ISBAG(B) 65.82/45.26 U273^1(tt, A, B) -> U274^1(isBagKind(B), A, B) 65.82/45.26 U273^1(tt, A, B) -> ISBAGKIND(B) 65.82/45.26 U274^1(tt, A, B) -> PLUS(sum(A), sum(B)) 65.82/45.26 U274^1(tt, A, B) -> SUM(A) 65.82/45.26 U274^1(tt, A, B) -> SUM(B) 65.82/45.26 U41^1(tt, V2) -> U42^1(isBagKind(V2)) 65.82/45.26 U41^1(tt, V2) -> ISBAGKIND(V2) 65.82/45.26 U51^1(tt, V1) -> U52^1(isBinKind(V1), V1) 65.82/45.26 U51^1(tt, V1) -> ISBINKIND(V1) 65.82/45.27 U52^1(tt, V1) -> U53^1(isBin(V1)) 65.82/45.27 U52^1(tt, V1) -> ISBIN(V1) 65.82/45.27 U61^1(tt, V1) -> U62^1(isBinKind(V1), V1) 65.82/45.27 U61^1(tt, V1) -> ISBINKIND(V1) 65.82/45.27 U62^1(tt, V1) -> U63^1(isBin(V1)) 65.82/45.27 U62^1(tt, V1) -> ISBIN(V1) 65.82/45.27 U71^1(tt, V1, V2) -> U72^1(isBinKind(V1), V1, V2) 65.82/45.27 U71^1(tt, V1, V2) -> ISBINKIND(V1) 65.82/45.27 U72^1(tt, V1, V2) -> U73^1(isBinKind(V2), V1, V2) 65.82/45.27 U72^1(tt, V1, V2) -> ISBINKIND(V2) 65.82/45.27 U73^1(tt, V1, V2) -> U74^1(isBinKind(V2), V1, V2) 65.82/45.27 U73^1(tt, V1, V2) -> ISBINKIND(V2) 65.82/45.27 U74^1(tt, V1, V2) -> U75^1(isBin(V1), V2) 65.82/45.27 U74^1(tt, V1, V2) -> ISBIN(V1) 65.82/45.27 U75^1(tt, V2) -> U76^1(isBin(V2)) 65.82/45.27 U75^1(tt, V2) -> ISBIN(V2) 65.82/45.27 U81^1(tt, V1, V2) -> U82^1(isBinKind(V1), V1, V2) 65.82/45.27 U81^1(tt, V1, V2) -> ISBINKIND(V1) 65.82/45.27 U82^1(tt, V1, V2) -> U83^1(isBinKind(V2), V1, V2) 65.82/45.27 U82^1(tt, V1, V2) -> ISBINKIND(V2) 65.82/45.27 U83^1(tt, V1, V2) -> U84^1(isBinKind(V2), V1, V2) 65.82/45.27 U83^1(tt, V1, V2) -> ISBINKIND(V2) 65.82/45.27 U84^1(tt, V1, V2) -> U85^1(isBin(V1), V2) 65.82/45.27 U84^1(tt, V1, V2) -> ISBIN(V1) 65.82/45.27 U85^1(tt, V2) -> U86^1(isBin(V2)) 65.82/45.27 U85^1(tt, V2) -> ISBIN(V2) 65.82/45.27 U91^1(tt, V1) -> U92^1(isBagKind(V1), V1) 65.82/45.27 U91^1(tt, V1) -> ISBAGKIND(V1) 65.82/45.27 U92^1(tt, V1) -> U93^1(isBag(V1)) 65.82/45.27 U92^1(tt, V1) -> ISBAG(V1) 65.82/45.27 ISBAG(singl(V1)) -> U11^1(isBinKind(V1), V1) 65.82/45.27 ISBAG(singl(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBAG(union(V1, V2)) -> U21^1(isBagKind(V1), V1, V2) 65.82/45.27 ISBAG(union(V1, V2)) -> ISBAGKIND(V1) 65.82/45.27 ISBAGKIND(singl(V1)) -> U31^1(isBinKind(V1)) 65.82/45.27 ISBAGKIND(singl(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBAGKIND(union(V1, V2)) -> U41^1(isBagKind(V1), V2) 65.82/45.27 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V1) 65.82/45.27 ISBIN(0(V1)) -> U51^1(isBinKind(V1), V1) 65.82/45.27 ISBIN(0(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBIN(1(V1)) -> U61^1(isBinKind(V1), V1) 65.82/45.27 ISBIN(1(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBIN(mult(V1, V2)) -> U71^1(isBinKind(V1), V1, V2) 65.82/45.27 ISBIN(mult(V1, V2)) -> ISBINKIND(V1) 65.82/45.27 ISBIN(plus(V1, V2)) -> U81^1(isBinKind(V1), V1, V2) 65.82/45.27 ISBIN(plus(V1, V2)) -> ISBINKIND(V1) 65.82/45.27 ISBIN(prod(V1)) -> U91^1(isBagKind(V1), V1) 65.82/45.27 ISBIN(prod(V1)) -> ISBAGKIND(V1) 65.82/45.27 ISBIN(sum(V1)) -> U101^1(isBagKind(V1), V1) 65.82/45.27 ISBIN(sum(V1)) -> ISBAGKIND(V1) 65.82/45.27 ISBINKIND(0(V1)) -> U111^1(isBinKind(V1)) 65.82/45.27 ISBINKIND(0(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(1(V1)) -> U121^1(isBinKind(V1)) 65.82/45.27 ISBINKIND(1(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(mult(V1, V2)) -> U131^1(isBinKind(V1), V2) 65.82/45.27 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(plus(V1, V2)) -> U141^1(isBinKind(V1), V2) 65.82/45.27 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(prod(V1)) -> U151^1(isBagKind(V1)) 65.82/45.27 ISBINKIND(prod(V1)) -> ISBAGKIND(V1) 65.82/45.27 ISBINKIND(sum(V1)) -> U161^1(isBagKind(V1)) 65.82/45.27 ISBINKIND(sum(V1)) -> ISBAGKIND(V1) 65.82/45.27 MULT(z, X) -> U171^1(isBin(X), X) 65.82/45.27 MULT(z, X) -> ISBIN(X) 65.82/45.27 MULT(0(X), Y) -> U181^1(isBin(X), X, Y) 65.82/45.27 MULT(0(X), Y) -> ISBIN(X) 65.82/45.27 MULT(1(X), Y) -> U191^1(isBin(X), X, Y) 65.82/45.27 MULT(1(X), Y) -> ISBIN(X) 65.82/45.27 PLUS(z, X) -> U201^1(isBin(X), X) 65.82/45.27 PLUS(z, X) -> ISBIN(X) 65.82/45.27 PLUS(0(X), 0(Y)) -> U211^1(isBin(X), X, Y) 65.82/45.27 PLUS(0(X), 0(Y)) -> ISBIN(X) 65.82/45.27 PLUS(0(X), 1(Y)) -> U221^1(isBin(X), X, Y) 65.82/45.27 PLUS(0(X), 1(Y)) -> ISBIN(X) 65.82/45.27 PLUS(1(X), 1(Y)) -> U231^1(isBin(X), X, Y) 65.82/45.27 PLUS(1(X), 1(Y)) -> ISBIN(X) 65.82/45.27 PROD(singl(X)) -> U241^1(isBin(X), X) 65.82/45.27 PROD(singl(X)) -> ISBIN(X) 65.82/45.27 PROD(union(A, B)) -> U251^1(isBag(A), A, B) 65.82/45.27 PROD(union(A, B)) -> ISBAG(A) 65.82/45.27 SUM(empty) -> 0^1(z) 65.82/45.27 SUM(singl(X)) -> U261^1(isBin(X), X) 65.82/45.27 SUM(singl(X)) -> ISBIN(X) 65.82/45.27 SUM(union(A, B)) -> U271^1(isBag(A), A, B) 65.82/45.27 SUM(union(A, B)) -> ISBAG(A) 65.82/45.27 MULT(mult(z, X), ext) -> MULT(U171(isBin(X), X), ext) 65.82/45.27 MULT(mult(z, X), ext) -> U171^1(isBin(X), X) 65.82/45.27 MULT(mult(z, X), ext) -> ISBIN(X) 65.82/45.27 MULT(mult(0(X), Y), ext) -> MULT(U181(isBin(X), X, Y), ext) 65.82/45.27 MULT(mult(0(X), Y), ext) -> U181^1(isBin(X), X, Y) 65.82/45.27 MULT(mult(0(X), Y), ext) -> ISBIN(X) 65.82/45.27 MULT(mult(1(X), Y), ext) -> MULT(U191(isBin(X), X, Y), ext) 65.82/45.27 MULT(mult(1(X), Y), ext) -> U191^1(isBin(X), X, Y) 65.82/45.27 MULT(mult(1(X), Y), ext) -> ISBIN(X) 65.82/45.27 PLUS(plus(z, X), ext) -> PLUS(U201(isBin(X), X), ext) 65.82/45.27 PLUS(plus(z, X), ext) -> U201^1(isBin(X), X) 65.82/45.27 PLUS(plus(z, X), ext) -> ISBIN(X) 65.82/45.27 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U211(isBin(X), X, Y), ext) 65.82/45.27 PLUS(plus(0(X), 0(Y)), ext) -> U211^1(isBin(X), X, Y) 65.82/45.27 PLUS(plus(0(X), 0(Y)), ext) -> ISBIN(X) 65.82/45.27 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U221(isBin(X), X, Y), ext) 65.82/45.27 PLUS(plus(0(X), 1(Y)), ext) -> U221^1(isBin(X), X, Y) 65.82/45.27 PLUS(plus(0(X), 1(Y)), ext) -> ISBIN(X) 65.82/45.27 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U231(isBin(X), X, Y), ext) 65.82/45.27 PLUS(plus(1(X), 1(Y)), ext) -> U231^1(isBin(X), X, Y) 65.82/45.27 PLUS(plus(1(X), 1(Y)), ext) -> ISBIN(X) 65.82/45.27 65.82/45.27 The TRS R consists of the following rules: 65.82/45.27 65.82/45.27 union(X, empty) -> X 65.82/45.27 union(empty, X) -> X 65.82/45.27 0(z) -> z 65.82/45.27 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.27 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.27 U103(tt) -> tt 65.82/45.27 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.27 U111(tt) -> tt 65.82/45.27 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.27 U121(tt) -> tt 65.82/45.27 U13(tt) -> tt 65.82/45.27 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.27 U132(tt) -> tt 65.82/45.27 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.27 U142(tt) -> tt 65.82/45.27 U151(tt) -> tt 65.82/45.27 U161(tt) -> tt 65.82/45.27 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.27 U172(tt) -> z 65.82/45.27 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.27 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.27 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.27 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.27 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.27 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.27 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.27 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.27 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.27 U202(tt, X) -> X 65.82/45.27 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.27 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.27 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.27 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.27 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.27 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.27 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.27 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.27 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.27 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.27 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.27 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.27 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.27 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.27 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.27 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.27 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.27 U242(tt, X) -> X 65.82/45.27 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.27 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.27 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.27 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.27 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.27 U26(tt) -> tt 65.82/45.27 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.27 U262(tt, X) -> X 65.82/45.27 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.27 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.27 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.27 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.27 U31(tt) -> tt 65.82/45.27 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.27 U42(tt) -> tt 65.82/45.27 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.27 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.27 U53(tt) -> tt 65.82/45.27 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.27 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.27 U63(tt) -> tt 65.82/45.27 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.27 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.27 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.27 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.27 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.27 U76(tt) -> tt 65.82/45.27 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.27 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.27 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.27 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.27 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.27 U86(tt) -> tt 65.82/45.27 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.27 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.27 U93(tt) -> tt 65.82/45.27 isBag(empty) -> tt 65.82/45.27 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.27 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.27 isBagKind(empty) -> tt 65.82/45.27 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.27 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.27 isBin(z) -> tt 65.82/45.27 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.27 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.27 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.27 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.27 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.27 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.27 isBinKind(z) -> tt 65.82/45.27 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.27 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.27 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.27 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.27 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.27 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.27 mult(z, X) -> U171(isBin(X), X) 65.82/45.27 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.27 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.27 plus(z, X) -> U201(isBin(X), X) 65.82/45.27 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.27 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.27 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.27 prod(empty) -> 1(z) 65.82/45.27 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.27 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.27 sum(empty) -> 0(z) 65.82/45.27 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.27 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.27 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.27 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.27 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.27 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.27 65.82/45.27 The set E consists of the following equations: 65.82/45.27 65.82/45.27 mult(x, y) == mult(y, x) 65.82/45.27 plus(x, y) == plus(y, x) 65.82/45.27 union(x, y) == union(y, x) 65.82/45.27 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.27 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.27 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.27 65.82/45.27 The set E# consists of the following equations: 65.82/45.27 65.82/45.27 MULT(x, y) == MULT(y, x) 65.82/45.27 PLUS(x, y) == PLUS(y, x) 65.82/45.27 UNION(x, y) == UNION(y, x) 65.82/45.27 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.27 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.27 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.27 65.82/45.27 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (3) EDependencyGraphProof (EQUIVALENT) 65.82/45.27 The approximation of the Equational Dependency Graph [DA_STEIN] contains 6 SCCs with 99 less nodes. 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (4) 65.82/45.27 Complex Obligation (AND) 65.82/45.27 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (5) 65.82/45.27 Obligation: 65.82/45.27 The TRS P consists of the following rules: 65.82/45.27 65.82/45.27 U141^1(tt, V2) -> ISBINKIND(V2) 65.82/45.27 ISBINKIND(prod(V1)) -> ISBAGKIND(V1) 65.82/45.27 U41^1(tt, V2) -> ISBAGKIND(V2) 65.82/45.27 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V1) 65.82/45.27 ISBINKIND(0(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(1(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(sum(V1)) -> ISBAGKIND(V1) 65.82/45.27 ISBINKIND(plus(V1, V2)) -> U141^1(isBinKind(V1), V2) 65.82/45.27 U131^1(tt, V2) -> ISBINKIND(V2) 65.82/45.27 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(mult(V1, V2)) -> U131^1(isBinKind(V1), V2) 65.82/45.27 ISBAGKIND(singl(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBAGKIND(union(V1, V2)) -> U41^1(isBagKind(V1), V2) 65.82/45.27 65.82/45.27 The TRS R consists of the following rules: 65.82/45.27 65.82/45.27 union(X, empty) -> X 65.82/45.27 union(empty, X) -> X 65.82/45.27 0(z) -> z 65.82/45.27 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.27 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.27 U103(tt) -> tt 65.82/45.27 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.27 U111(tt) -> tt 65.82/45.27 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.27 U121(tt) -> tt 65.82/45.27 U13(tt) -> tt 65.82/45.27 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.27 U132(tt) -> tt 65.82/45.27 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.27 U142(tt) -> tt 65.82/45.27 U151(tt) -> tt 65.82/45.27 U161(tt) -> tt 65.82/45.27 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.27 U172(tt) -> z 65.82/45.27 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.27 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.27 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.27 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.27 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.27 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.27 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.27 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.27 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.27 U202(tt, X) -> X 65.82/45.27 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.27 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.27 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.27 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.27 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.27 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.27 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.27 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.27 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.27 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.27 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.27 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.27 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.27 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.27 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.27 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.27 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.27 U242(tt, X) -> X 65.82/45.27 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.27 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.27 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.27 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.27 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.27 U26(tt) -> tt 65.82/45.27 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.27 U262(tt, X) -> X 65.82/45.27 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.27 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.27 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.27 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.27 U31(tt) -> tt 65.82/45.27 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.27 U42(tt) -> tt 65.82/45.27 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.27 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.27 U53(tt) -> tt 65.82/45.27 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.27 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.27 U63(tt) -> tt 65.82/45.27 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.27 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.27 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.27 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.27 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.27 U76(tt) -> tt 65.82/45.27 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.27 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.27 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.27 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.27 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.27 U86(tt) -> tt 65.82/45.27 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.27 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.27 U93(tt) -> tt 65.82/45.27 isBag(empty) -> tt 65.82/45.27 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.27 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.27 isBagKind(empty) -> tt 65.82/45.27 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.27 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.27 isBin(z) -> tt 65.82/45.27 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.27 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.27 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.27 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.27 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.27 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.27 isBinKind(z) -> tt 65.82/45.27 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.27 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.27 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.27 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.27 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.27 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.27 mult(z, X) -> U171(isBin(X), X) 65.82/45.27 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.27 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.27 plus(z, X) -> U201(isBin(X), X) 65.82/45.27 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.27 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.27 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.27 prod(empty) -> 1(z) 65.82/45.27 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.27 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.27 sum(empty) -> 0(z) 65.82/45.27 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.27 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.27 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.27 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.27 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.27 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.27 65.82/45.27 The set E consists of the following equations: 65.82/45.27 65.82/45.27 mult(x, y) == mult(y, x) 65.82/45.27 plus(x, y) == plus(y, x) 65.82/45.27 union(x, y) == union(y, x) 65.82/45.27 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.27 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.27 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.27 65.82/45.27 The set E# consists of the following equations: 65.82/45.27 65.82/45.27 MULT(x, y) == MULT(y, x) 65.82/45.27 PLUS(x, y) == PLUS(y, x) 65.82/45.27 UNION(x, y) == UNION(y, x) 65.82/45.27 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.27 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.27 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.27 65.82/45.27 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (6) ESharpUsableEquationsProof (EQUIVALENT) 65.82/45.27 We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: 65.82/45.27 MULT(x, y) == MULT(y, x) 65.82/45.27 PLUS(x, y) == PLUS(y, x) 65.82/45.27 UNION(x, y) == UNION(y, x) 65.82/45.27 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.27 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.27 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.27 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (7) 65.82/45.27 Obligation: 65.82/45.27 The TRS P consists of the following rules: 65.82/45.27 65.82/45.27 U141^1(tt, V2) -> ISBINKIND(V2) 65.82/45.27 ISBINKIND(prod(V1)) -> ISBAGKIND(V1) 65.82/45.27 U41^1(tt, V2) -> ISBAGKIND(V2) 65.82/45.27 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V1) 65.82/45.27 ISBINKIND(0(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(1(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(sum(V1)) -> ISBAGKIND(V1) 65.82/45.27 ISBINKIND(plus(V1, V2)) -> U141^1(isBinKind(V1), V2) 65.82/45.27 U131^1(tt, V2) -> ISBINKIND(V2) 65.82/45.27 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(mult(V1, V2)) -> U131^1(isBinKind(V1), V2) 65.82/45.27 ISBAGKIND(singl(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBAGKIND(union(V1, V2)) -> U41^1(isBagKind(V1), V2) 65.82/45.27 65.82/45.27 The TRS R consists of the following rules: 65.82/45.27 65.82/45.27 union(X, empty) -> X 65.82/45.27 union(empty, X) -> X 65.82/45.27 0(z) -> z 65.82/45.27 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.27 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.27 U103(tt) -> tt 65.82/45.27 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.27 U111(tt) -> tt 65.82/45.27 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.27 U121(tt) -> tt 65.82/45.27 U13(tt) -> tt 65.82/45.27 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.27 U132(tt) -> tt 65.82/45.27 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.27 U142(tt) -> tt 65.82/45.27 U151(tt) -> tt 65.82/45.27 U161(tt) -> tt 65.82/45.27 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.27 U172(tt) -> z 65.82/45.27 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.27 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.27 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.27 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.27 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.27 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.27 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.27 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.27 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.27 U202(tt, X) -> X 65.82/45.27 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.27 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.27 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.27 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.27 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.27 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.27 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.27 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.27 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.27 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.27 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.27 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.27 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.27 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.27 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.27 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.27 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.27 U242(tt, X) -> X 65.82/45.27 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.27 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.27 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.27 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.27 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.27 U26(tt) -> tt 65.82/45.27 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.27 U262(tt, X) -> X 65.82/45.27 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.27 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.27 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.27 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.27 U31(tt) -> tt 65.82/45.27 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.27 U42(tt) -> tt 65.82/45.27 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.27 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.27 U53(tt) -> tt 65.82/45.27 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.27 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.27 U63(tt) -> tt 65.82/45.27 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.27 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.27 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.27 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.27 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.27 U76(tt) -> tt 65.82/45.27 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.27 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.27 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.27 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.27 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.27 U86(tt) -> tt 65.82/45.27 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.27 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.27 U93(tt) -> tt 65.82/45.27 isBag(empty) -> tt 65.82/45.27 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.27 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.27 isBagKind(empty) -> tt 65.82/45.27 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.27 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.27 isBin(z) -> tt 65.82/45.27 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.27 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.27 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.27 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.27 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.27 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.27 isBinKind(z) -> tt 65.82/45.27 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.27 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.27 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.27 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.27 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.27 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.27 mult(z, X) -> U171(isBin(X), X) 65.82/45.27 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.27 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.27 plus(z, X) -> U201(isBin(X), X) 65.82/45.27 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.27 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.27 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.27 prod(empty) -> 1(z) 65.82/45.27 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.27 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.27 sum(empty) -> 0(z) 65.82/45.27 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.27 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.27 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.27 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.27 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.27 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.27 65.82/45.27 The set E consists of the following equations: 65.82/45.27 65.82/45.27 mult(x, y) == mult(y, x) 65.82/45.27 plus(x, y) == plus(y, x) 65.82/45.27 union(x, y) == union(y, x) 65.82/45.27 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.27 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.27 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.27 65.82/45.27 E# is empty. 65.82/45.27 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (8) EUsableRulesReductionPairsProof (EQUIVALENT) 65.82/45.27 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. 65.82/45.27 65.82/45.27 The following dependency pairs can be deleted: 65.82/45.27 65.82/45.27 U141^1(tt, V2) -> ISBINKIND(V2) 65.82/45.27 ISBINKIND(prod(V1)) -> ISBAGKIND(V1) 65.82/45.27 U41^1(tt, V2) -> ISBAGKIND(V2) 65.82/45.27 ISBAGKIND(union(V1, V2)) -> ISBAGKIND(V1) 65.82/45.27 ISBINKIND(0(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(1(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(plus(V1, V2)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(sum(V1)) -> ISBAGKIND(V1) 65.82/45.27 ISBINKIND(plus(V1, V2)) -> U141^1(isBinKind(V1), V2) 65.82/45.27 U131^1(tt, V2) -> ISBINKIND(V2) 65.82/45.27 ISBINKIND(mult(V1, V2)) -> ISBINKIND(V1) 65.82/45.27 ISBINKIND(mult(V1, V2)) -> U131^1(isBinKind(V1), V2) 65.82/45.27 ISBAGKIND(singl(V1)) -> ISBINKIND(V1) 65.82/45.27 ISBAGKIND(union(V1, V2)) -> U41^1(isBagKind(V1), V2) 65.82/45.27 The following rules are removed from R: 65.82/45.27 65.82/45.27 union(X, empty) -> X 65.82/45.27 union(empty, X) -> X 65.82/45.27 0(z) -> z 65.82/45.27 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.27 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.27 U103(tt) -> tt 65.82/45.27 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.27 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.27 U121(tt) -> tt 65.82/45.27 U13(tt) -> tt 65.82/45.27 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.27 U132(tt) -> tt 65.82/45.27 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.27 U151(tt) -> tt 65.82/45.27 U161(tt) -> tt 65.82/45.27 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.27 U172(tt) -> z 65.82/45.27 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.27 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.27 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.27 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.27 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.27 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.27 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.27 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.27 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.27 U202(tt, X) -> X 65.82/45.27 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.27 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.27 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.27 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.27 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.27 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.27 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.27 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.27 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.27 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.27 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.27 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.27 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.27 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.27 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.27 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.27 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.27 U242(tt, X) -> X 65.82/45.27 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.27 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.27 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.27 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.27 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.27 U26(tt) -> tt 65.82/45.27 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.27 U262(tt, X) -> X 65.82/45.27 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.27 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.27 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.27 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.27 U31(tt) -> tt 65.82/45.27 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.27 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.27 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.27 U53(tt) -> tt 65.82/45.27 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.27 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.27 U63(tt) -> tt 65.82/45.27 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.27 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.27 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.27 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.27 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.27 U76(tt) -> tt 65.82/45.27 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.27 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.27 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.27 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.27 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.27 U86(tt) -> tt 65.82/45.27 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.27 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.27 U93(tt) -> tt 65.82/45.27 isBag(empty) -> tt 65.82/45.27 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.27 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.27 isBagKind(empty) -> tt 65.82/45.27 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.27 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.27 isBin(z) -> tt 65.82/45.27 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.27 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.27 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.27 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.27 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.27 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.27 isBinKind(z) -> tt 65.82/45.27 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.27 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.27 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.27 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.27 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.27 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.27 mult(z, X) -> U171(isBin(X), X) 65.82/45.27 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.27 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.27 plus(z, X) -> U201(isBin(X), X) 65.82/45.27 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.27 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.27 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.27 prod(empty) -> 1(z) 65.82/45.27 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.27 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.27 sum(empty) -> 0(z) 65.82/45.27 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.27 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.27 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.27 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.27 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.27 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.27 The following equations are removed from E: 65.82/45.27 65.82/45.27 mult(x, y) == mult(y, x) 65.82/45.27 plus(x, y) == plus(y, x) 65.82/45.27 union(x, y) == union(y, x) 65.82/45.27 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.27 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.27 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.27 Used ordering: POLO with Polynomial interpretation [POLO]: 65.82/45.27 65.82/45.27 POL(0(x_1)) = 2 + 2*x_1 65.82/45.27 POL(1(x_1)) = 3*x_1 65.82/45.27 POL(ISBAGKIND(x_1)) = 3*x_1 65.82/45.27 POL(ISBINKIND(x_1)) = 2*x_1 65.82/45.27 POL(U111(x_1)) = x_1 65.82/45.27 POL(U121(x_1)) = 2*x_1 65.82/45.27 POL(U131(x_1, x_2)) = 2*x_1 + 3*x_2 65.82/45.27 POL(U131^1(x_1, x_2)) = 2*x_1 + 3*x_2 65.82/45.27 POL(U132(x_1)) = 2 + x_1 65.82/45.27 POL(U141(x_1, x_2)) = x_1 + 3*x_2 65.82/45.27 POL(U141^1(x_1, x_2)) = x_1 + 3*x_2 65.82/45.27 POL(U142(x_1)) = x_1 65.82/45.27 POL(U151(x_1)) = 2*x_1 65.82/45.27 POL(U161(x_1)) = 2*x_1 65.82/45.27 POL(U31(x_1)) = 2*x_1 65.82/45.27 POL(U41(x_1, x_2)) = 2*x_1 + 3*x_2 65.82/45.27 POL(U41^1(x_1, x_2)) = 2*x_1 + 3*x_2 65.82/45.27 POL(U42(x_1)) = x_1 65.82/45.27 POL(empty) = 1 65.82/45.27 POL(isBagKind(x_1)) = 2 + 2*x_1 65.82/45.27 POL(isBinKind(x_1)) = 2*x_1 65.82/45.27 POL(mult(x_1, x_2)) = 2 + 3*x_1 + 3*x_2 65.82/45.27 POL(plus(x_1, x_2)) = x_1 + 3*x_2 65.82/45.27 POL(prod(x_1)) = 3 + 2*x_1 65.82/45.27 POL(singl(x_1)) = 3*x_1 65.82/45.27 POL(sum(x_1)) = 3 + 3*x_1 65.82/45.27 POL(tt) = 2 65.82/45.27 POL(union(x_1, x_2)) = 3 + 2*x_1 + 3*x_2 65.82/45.27 POL(z) = 2 65.82/45.27 65.82/45.27 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (9) 65.82/45.27 Obligation: 65.82/45.27 P is empty. 65.82/45.27 The TRS R consists of the following rules: 65.82/45.27 65.82/45.27 U142(tt) -> tt 65.82/45.27 U42(tt) -> tt 65.82/45.27 U111(tt) -> tt 65.82/45.27 65.82/45.27 E is empty. 65.82/45.27 E# is empty. 65.82/45.27 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (10) PisEmptyProof (EQUIVALENT) 65.82/45.27 The TRS P is empty. Hence, there is no (P,E#,R,E) chain. 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (11) 65.82/45.27 YES 65.82/45.27 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (12) 65.82/45.27 Obligation: 65.82/45.27 The TRS P consists of the following rules: 65.82/45.27 65.82/45.27 U24^1(tt, V1, V2) -> ISBAG(V1) 65.82/45.27 U102^1(tt, V1) -> ISBAG(V1) 65.82/45.27 U12^1(tt, V1) -> ISBIN(V1) 65.82/45.27 U11^1(tt, V1) -> U12^1(isBinKind(V1), V1) 65.82/45.27 U83^1(tt, V1, V2) -> U84^1(isBinKind(V2), V1, V2) 65.82/45.27 U85^1(tt, V2) -> ISBIN(V2) 65.82/45.27 U25^1(tt, V2) -> ISBAG(V2) 65.82/45.27 U72^1(tt, V1, V2) -> U73^1(isBinKind(V2), V1, V2) 65.82/45.27 ISBIN(0(V1)) -> U51^1(isBinKind(V1), V1) 65.82/45.27 U91^1(tt, V1) -> U92^1(isBagKind(V1), V1) 65.82/45.27 U61^1(tt, V1) -> U62^1(isBinKind(V1), V1) 65.82/45.27 U21^1(tt, V1, V2) -> U22^1(isBagKind(V1), V1, V2) 65.82/45.27 U75^1(tt, V2) -> ISBIN(V2) 65.82/45.27 U23^1(tt, V1, V2) -> U24^1(isBagKind(V2), V1, V2) 65.82/45.27 U81^1(tt, V1, V2) -> U82^1(isBinKind(V1), V1, V2) 65.82/45.27 U51^1(tt, V1) -> U52^1(isBinKind(V1), V1) 65.82/45.27 U74^1(tt, V1, V2) -> ISBIN(V1) 65.82/45.27 ISBIN(sum(V1)) -> U101^1(isBagKind(V1), V1) 65.82/45.27 U24^1(tt, V1, V2) -> U25^1(isBag(V1), V2) 65.82/45.27 U101^1(tt, V1) -> U102^1(isBagKind(V1), V1) 65.82/45.27 ISBAG(union(V1, V2)) -> U21^1(isBagKind(V1), V1, V2) 65.82/45.27 U52^1(tt, V1) -> ISBIN(V1) 65.82/45.27 U92^1(tt, V1) -> ISBAG(V1) 65.82/45.27 U73^1(tt, V1, V2) -> U74^1(isBinKind(V2), V1, V2) 65.82/45.27 U74^1(tt, V1, V2) -> U75^1(isBin(V1), V2) 65.82/45.27 U71^1(tt, V1, V2) -> U72^1(isBinKind(V1), V1, V2) 65.82/45.27 ISBIN(1(V1)) -> U61^1(isBinKind(V1), V1) 65.82/45.27 ISBAG(singl(V1)) -> U11^1(isBinKind(V1), V1) 65.82/45.27 U84^1(tt, V1, V2) -> U85^1(isBin(V1), V2) 65.82/45.27 ISBIN(prod(V1)) -> U91^1(isBagKind(V1), V1) 65.82/45.27 U22^1(tt, V1, V2) -> U23^1(isBagKind(V2), V1, V2) 65.82/45.27 ISBIN(plus(V1, V2)) -> U81^1(isBinKind(V1), V1, V2) 65.82/45.27 U82^1(tt, V1, V2) -> U83^1(isBinKind(V2), V1, V2) 65.82/45.27 U62^1(tt, V1) -> ISBIN(V1) 65.82/45.27 U84^1(tt, V1, V2) -> ISBIN(V1) 65.82/45.27 ISBIN(mult(V1, V2)) -> U71^1(isBinKind(V1), V1, V2) 65.82/45.27 65.82/45.27 The TRS R consists of the following rules: 65.82/45.27 65.82/45.27 union(X, empty) -> X 65.82/45.27 union(empty, X) -> X 65.82/45.27 0(z) -> z 65.82/45.27 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.27 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.27 U103(tt) -> tt 65.82/45.27 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.27 U111(tt) -> tt 65.82/45.27 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.27 U121(tt) -> tt 65.82/45.27 U13(tt) -> tt 65.82/45.27 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.27 U132(tt) -> tt 65.82/45.27 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.27 U142(tt) -> tt 65.82/45.27 U151(tt) -> tt 65.82/45.27 U161(tt) -> tt 65.82/45.27 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.27 U172(tt) -> z 65.82/45.27 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.27 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.27 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.27 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.27 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.27 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.27 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.27 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.27 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.27 U202(tt, X) -> X 65.82/45.27 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.27 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.27 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.27 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.27 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.27 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.27 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.27 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.27 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.27 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.27 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.27 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.27 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.27 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.27 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.27 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.27 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.27 U242(tt, X) -> X 65.82/45.27 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.27 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.27 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.27 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.27 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.27 U26(tt) -> tt 65.82/45.27 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.27 U262(tt, X) -> X 65.82/45.27 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.27 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.27 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.27 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.27 U31(tt) -> tt 65.82/45.27 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.27 U42(tt) -> tt 65.82/45.27 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.27 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.27 U53(tt) -> tt 65.82/45.27 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.27 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.27 U63(tt) -> tt 65.82/45.27 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.27 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.27 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.27 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.27 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.27 U76(tt) -> tt 65.82/45.27 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.27 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.27 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.27 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.27 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.27 U86(tt) -> tt 65.82/45.27 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.27 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.27 U93(tt) -> tt 65.82/45.27 isBag(empty) -> tt 65.82/45.27 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.27 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.27 isBagKind(empty) -> tt 65.82/45.27 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.27 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.27 isBin(z) -> tt 65.82/45.27 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.27 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.27 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.27 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.27 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.27 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.27 isBinKind(z) -> tt 65.82/45.27 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.27 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.27 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.27 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.27 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.27 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.27 mult(z, X) -> U171(isBin(X), X) 65.82/45.27 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.27 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.27 plus(z, X) -> U201(isBin(X), X) 65.82/45.27 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.27 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.27 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.27 prod(empty) -> 1(z) 65.82/45.27 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.27 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.27 sum(empty) -> 0(z) 65.82/45.27 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.27 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.27 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.27 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.27 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.27 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.27 65.82/45.27 The set E consists of the following equations: 65.82/45.27 65.82/45.27 mult(x, y) == mult(y, x) 65.82/45.27 plus(x, y) == plus(y, x) 65.82/45.27 union(x, y) == union(y, x) 65.82/45.27 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.27 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.27 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.27 65.82/45.27 The set E# consists of the following equations: 65.82/45.27 65.82/45.27 MULT(x, y) == MULT(y, x) 65.82/45.27 PLUS(x, y) == PLUS(y, x) 65.82/45.27 UNION(x, y) == UNION(y, x) 65.82/45.27 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.27 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.27 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.27 65.82/45.27 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (13) ESharpUsableEquationsProof (EQUIVALENT) 65.82/45.27 We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: 65.82/45.27 MULT(x, y) == MULT(y, x) 65.82/45.27 PLUS(x, y) == PLUS(y, x) 65.82/45.27 UNION(x, y) == UNION(y, x) 65.82/45.27 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.27 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.27 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.27 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (14) 65.82/45.27 Obligation: 65.82/45.27 The TRS P consists of the following rules: 65.82/45.27 65.82/45.27 U24^1(tt, V1, V2) -> ISBAG(V1) 65.82/45.27 U102^1(tt, V1) -> ISBAG(V1) 65.82/45.27 U12^1(tt, V1) -> ISBIN(V1) 65.82/45.27 U11^1(tt, V1) -> U12^1(isBinKind(V1), V1) 65.82/45.27 U83^1(tt, V1, V2) -> U84^1(isBinKind(V2), V1, V2) 65.82/45.27 U85^1(tt, V2) -> ISBIN(V2) 65.82/45.27 U25^1(tt, V2) -> ISBAG(V2) 65.82/45.27 U72^1(tt, V1, V2) -> U73^1(isBinKind(V2), V1, V2) 65.82/45.27 ISBIN(0(V1)) -> U51^1(isBinKind(V1), V1) 65.82/45.27 U91^1(tt, V1) -> U92^1(isBagKind(V1), V1) 65.82/45.27 U61^1(tt, V1) -> U62^1(isBinKind(V1), V1) 65.82/45.27 U21^1(tt, V1, V2) -> U22^1(isBagKind(V1), V1, V2) 65.82/45.27 U75^1(tt, V2) -> ISBIN(V2) 65.82/45.27 U23^1(tt, V1, V2) -> U24^1(isBagKind(V2), V1, V2) 65.82/45.27 U81^1(tt, V1, V2) -> U82^1(isBinKind(V1), V1, V2) 65.82/45.27 U51^1(tt, V1) -> U52^1(isBinKind(V1), V1) 65.82/45.27 U74^1(tt, V1, V2) -> ISBIN(V1) 65.82/45.27 ISBIN(sum(V1)) -> U101^1(isBagKind(V1), V1) 65.82/45.27 U24^1(tt, V1, V2) -> U25^1(isBag(V1), V2) 65.82/45.27 U101^1(tt, V1) -> U102^1(isBagKind(V1), V1) 65.82/45.27 ISBAG(union(V1, V2)) -> U21^1(isBagKind(V1), V1, V2) 65.82/45.27 U52^1(tt, V1) -> ISBIN(V1) 65.82/45.27 U92^1(tt, V1) -> ISBAG(V1) 65.82/45.27 U73^1(tt, V1, V2) -> U74^1(isBinKind(V2), V1, V2) 65.82/45.27 U74^1(tt, V1, V2) -> U75^1(isBin(V1), V2) 65.82/45.27 U71^1(tt, V1, V2) -> U72^1(isBinKind(V1), V1, V2) 65.82/45.27 ISBIN(1(V1)) -> U61^1(isBinKind(V1), V1) 65.82/45.27 ISBAG(singl(V1)) -> U11^1(isBinKind(V1), V1) 65.82/45.27 U84^1(tt, V1, V2) -> U85^1(isBin(V1), V2) 65.82/45.27 ISBIN(prod(V1)) -> U91^1(isBagKind(V1), V1) 65.82/45.27 U22^1(tt, V1, V2) -> U23^1(isBagKind(V2), V1, V2) 65.82/45.27 ISBIN(plus(V1, V2)) -> U81^1(isBinKind(V1), V1, V2) 65.82/45.27 U82^1(tt, V1, V2) -> U83^1(isBinKind(V2), V1, V2) 65.82/45.27 U62^1(tt, V1) -> ISBIN(V1) 65.82/45.27 U84^1(tt, V1, V2) -> ISBIN(V1) 65.82/45.27 ISBIN(mult(V1, V2)) -> U71^1(isBinKind(V1), V1, V2) 65.82/45.27 65.82/45.27 The TRS R consists of the following rules: 65.82/45.27 65.82/45.27 union(X, empty) -> X 65.82/45.27 union(empty, X) -> X 65.82/45.27 0(z) -> z 65.82/45.27 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.27 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.27 U103(tt) -> tt 65.82/45.27 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.27 U111(tt) -> tt 65.82/45.27 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.27 U121(tt) -> tt 65.82/45.27 U13(tt) -> tt 65.82/45.27 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.27 U132(tt) -> tt 65.82/45.27 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.27 U142(tt) -> tt 65.82/45.27 U151(tt) -> tt 65.82/45.27 U161(tt) -> tt 65.82/45.27 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.27 U172(tt) -> z 65.82/45.27 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.27 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.27 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.27 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.27 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.27 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.27 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.27 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.27 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.27 U202(tt, X) -> X 65.82/45.27 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.27 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.27 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.27 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.27 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.27 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.27 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.27 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.27 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.27 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.27 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.27 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.27 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.27 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.27 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.27 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.27 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.27 U242(tt, X) -> X 65.82/45.27 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.27 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.27 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.27 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.27 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.27 U26(tt) -> tt 65.82/45.27 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.27 U262(tt, X) -> X 65.82/45.27 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.27 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.27 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.27 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.27 U31(tt) -> tt 65.82/45.27 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.27 U42(tt) -> tt 65.82/45.27 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.27 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.27 U53(tt) -> tt 65.82/45.27 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.27 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.27 U63(tt) -> tt 65.82/45.27 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.27 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.27 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.27 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.27 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.27 U76(tt) -> tt 65.82/45.27 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.27 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.27 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.27 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.27 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.27 U86(tt) -> tt 65.82/45.27 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.27 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.27 U93(tt) -> tt 65.82/45.27 isBag(empty) -> tt 65.82/45.27 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.27 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.27 isBagKind(empty) -> tt 65.82/45.27 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.27 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.27 isBin(z) -> tt 65.82/45.27 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.27 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.27 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.27 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.27 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.27 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.27 isBinKind(z) -> tt 65.82/45.27 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.27 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.27 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.27 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.27 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.27 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.27 mult(z, X) -> U171(isBin(X), X) 65.82/45.27 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.27 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.27 plus(z, X) -> U201(isBin(X), X) 65.82/45.27 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.27 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.27 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.27 prod(empty) -> 1(z) 65.82/45.27 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.27 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.27 sum(empty) -> 0(z) 65.82/45.27 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.27 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.27 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.27 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.27 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.27 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.27 65.82/45.27 The set E consists of the following equations: 65.82/45.27 65.82/45.27 mult(x, y) == mult(y, x) 65.82/45.27 plus(x, y) == plus(y, x) 65.82/45.27 union(x, y) == union(y, x) 65.82/45.27 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.27 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.27 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.27 65.82/45.27 E# is empty. 65.82/45.27 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.27 ---------------------------------------- 65.82/45.27 65.82/45.27 (15) EUsableRulesReductionPairsProof (EQUIVALENT) 65.82/45.27 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. 65.82/45.27 65.82/45.27 The following dependency pairs can be deleted: 65.82/45.27 65.82/45.27 U24^1(tt, V1, V2) -> ISBAG(V1) 65.82/45.27 U102^1(tt, V1) -> ISBAG(V1) 65.82/45.27 U12^1(tt, V1) -> ISBIN(V1) 65.82/45.27 U83^1(tt, V1, V2) -> U84^1(isBinKind(V2), V1, V2) 65.82/45.27 U85^1(tt, V2) -> ISBIN(V2) 65.82/45.27 U25^1(tt, V2) -> ISBAG(V2) 65.82/45.27 U72^1(tt, V1, V2) -> U73^1(isBinKind(V2), V1, V2) 65.82/45.27 ISBIN(0(V1)) -> U51^1(isBinKind(V1), V1) 65.82/45.27 U91^1(tt, V1) -> U92^1(isBagKind(V1), V1) 65.82/45.27 U61^1(tt, V1) -> U62^1(isBinKind(V1), V1) 65.82/45.27 U21^1(tt, V1, V2) -> U22^1(isBagKind(V1), V1, V2) 65.82/45.27 U75^1(tt, V2) -> ISBIN(V2) 65.82/45.27 U23^1(tt, V1, V2) -> U24^1(isBagKind(V2), V1, V2) 65.82/45.27 U81^1(tt, V1, V2) -> U82^1(isBinKind(V1), V1, V2) 65.82/45.27 U51^1(tt, V1) -> U52^1(isBinKind(V1), V1) 65.82/45.27 U74^1(tt, V1, V2) -> ISBIN(V1) 65.82/45.27 ISBIN(sum(V1)) -> U101^1(isBagKind(V1), V1) 65.82/45.27 U24^1(tt, V1, V2) -> U25^1(isBag(V1), V2) 65.82/45.27 U101^1(tt, V1) -> U102^1(isBagKind(V1), V1) 65.82/45.27 ISBAG(union(V1, V2)) -> U21^1(isBagKind(V1), V1, V2) 65.82/45.27 U52^1(tt, V1) -> ISBIN(V1) 65.82/45.27 U92^1(tt, V1) -> ISBAG(V1) 65.82/45.27 U73^1(tt, V1, V2) -> U74^1(isBinKind(V2), V1, V2) 65.82/45.27 ISBIN(1(V1)) -> U61^1(isBinKind(V1), V1) 65.82/45.27 ISBAG(singl(V1)) -> U11^1(isBinKind(V1), V1) 65.82/45.27 U84^1(tt, V1, V2) -> U85^1(isBin(V1), V2) 65.82/45.27 ISBIN(prod(V1)) -> U91^1(isBagKind(V1), V1) 65.82/45.27 ISBIN(plus(V1, V2)) -> U81^1(isBinKind(V1), V1, V2) 65.82/45.27 U82^1(tt, V1, V2) -> U83^1(isBinKind(V2), V1, V2) 65.82/45.27 U62^1(tt, V1) -> ISBIN(V1) 65.82/45.27 U84^1(tt, V1, V2) -> ISBIN(V1) 65.82/45.27 ISBIN(mult(V1, V2)) -> U71^1(isBinKind(V1), V1, V2) 65.82/45.27 The following rules are removed from R: 65.82/45.27 65.82/45.27 union(X, empty) -> X 65.82/45.27 union(empty, X) -> X 65.82/45.27 0(z) -> z 65.82/45.27 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.27 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.27 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.27 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.27 U132(tt) -> tt 65.82/45.27 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.27 U142(tt) -> tt 65.82/45.27 U151(tt) -> tt 65.82/45.27 U161(tt) -> tt 65.82/45.27 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.27 U172(tt) -> z 65.82/45.27 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.27 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.27 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.27 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.27 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.27 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.27 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.27 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.27 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.27 U202(tt, X) -> X 65.82/45.27 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.27 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.27 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.27 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.27 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.27 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.27 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.27 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.27 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.27 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.27 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.27 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.27 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.27 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.27 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.27 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.27 U242(tt, X) -> X 65.82/45.27 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.27 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.27 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.27 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.27 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.27 U26(tt) -> tt 65.82/45.27 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.27 U262(tt, X) -> X 65.82/45.27 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.27 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.27 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.27 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.27 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.27 U42(tt) -> tt 65.82/45.27 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.27 U53(tt) -> tt 65.82/45.27 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.27 U63(tt) -> tt 65.82/45.27 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.27 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.27 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.27 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.27 U76(tt) -> tt 65.82/45.27 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.27 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.27 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.27 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.27 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.27 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.27 isBag(empty) -> tt 65.82/45.27 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.27 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.27 isBagKind(empty) -> tt 65.82/45.27 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.27 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.27 isBin(z) -> tt 65.82/45.27 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.27 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.27 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.27 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.27 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.27 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.27 isBinKind(z) -> tt 65.82/45.27 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.27 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.27 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.27 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.27 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.27 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.27 mult(z, X) -> U171(isBin(X), X) 65.82/45.27 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.27 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.27 plus(z, X) -> U201(isBin(X), X) 65.82/45.27 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.27 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.27 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.27 prod(empty) -> 1(z) 65.82/45.27 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.27 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.27 sum(empty) -> 0(z) 65.82/45.27 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.27 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.27 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.27 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.27 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.27 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.27 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.27 The following equations are removed from E: 65.82/45.27 65.82/45.27 mult(x, y) == mult(y, x) 65.82/45.27 plus(x, y) == plus(y, x) 65.82/45.27 union(x, y) == union(y, x) 65.82/45.27 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.27 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.27 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.27 Used ordering: POLO with Polynomial interpretation [POLO]: 65.82/45.27 65.82/45.27 POL(0(x_1)) = 3 + 3*x_1 65.82/45.27 POL(1(x_1)) = 2 + 3*x_1 65.82/45.27 POL(ISBAG(x_1)) = x_1 65.82/45.27 POL(ISBIN(x_1)) = x_1 65.82/45.27 POL(U101(x_1, x_2)) = x_1 + 2*x_2 65.82/45.27 POL(U101^1(x_1, x_2)) = x_1 + 2*x_2 65.82/45.27 POL(U102(x_1, x_2)) = x_1 + x_2 65.82/45.27 POL(U102^1(x_1, x_2)) = x_1 + x_2 65.82/45.27 POL(U103(x_1)) = x_1 65.82/45.27 POL(U11(x_1, x_2)) = x_1 + 2*x_2 65.82/45.27 POL(U111(x_1)) = x_1 65.82/45.27 POL(U11^1(x_1, x_2)) = x_1 + 2*x_2 65.82/45.27 POL(U12(x_1, x_2)) = x_1 + x_2 65.82/45.27 POL(U121(x_1)) = x_1 65.82/45.27 POL(U12^1(x_1, x_2)) = 2 + x_1 + x_2 65.82/45.27 POL(U13(x_1)) = x_1 65.82/45.27 POL(U131(x_1, x_2)) = x_1 + 2*x_2 65.82/45.27 POL(U132(x_1)) = 2 + x_1 65.82/45.27 POL(U141(x_1, x_2)) = 2*x_1 + 2*x_2 65.82/45.27 POL(U142(x_1)) = 2 + x_1 65.82/45.27 POL(U151(x_1)) = 2 + x_1 65.82/45.27 POL(U161(x_1)) = 2*x_1 65.82/45.27 POL(U21(x_1, x_2, x_3)) = x_1 + 2*x_2 + 3*x_3 65.82/45.27 POL(U21^1(x_1, x_2, x_3)) = x_1 + 2*x_2 + 3*x_3 65.82/45.27 POL(U22(x_1, x_2, x_3)) = x_1 + x_2 + 3*x_3 65.82/45.27 POL(U22^1(x_1, x_2, x_3)) = x_1 + x_2 + 3*x_3 65.82/45.27 POL(U23(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.27 POL(U23^1(x_1, x_2, x_3)) = 2 + x_1 + x_2 + 2*x_3 65.82/45.27 POL(U24(x_1, x_2, x_3)) = 2 + x_1 + x_2 + x_3 65.82/45.27 POL(U24^1(x_1, x_2, x_3)) = 2 + x_1 + x_2 + x_3 65.82/45.28 POL(U25(x_1, x_2)) = 2 + x_1 + x_2 65.82/45.28 POL(U25^1(x_1, x_2)) = x_1 + x_2 65.82/45.28 POL(U26(x_1)) = 2 + x_1 65.82/45.28 POL(U31(x_1)) = x_1 65.82/45.28 POL(U41(x_1, x_2)) = x_1 + 2*x_2 65.82/45.28 POL(U42(x_1)) = 2*x_1 65.82/45.28 POL(U51(x_1, x_2)) = x_1 + 2*x_2 65.82/45.28 POL(U51^1(x_1, x_2)) = 2 + x_1 + 2*x_2 65.82/45.28 POL(U52(x_1, x_2)) = 2 + x_1 + x_2 65.82/45.28 POL(U52^1(x_1, x_2)) = x_1 + x_2 65.82/45.28 POL(U53(x_1)) = 2 + x_1 65.82/45.28 POL(U61(x_1, x_2)) = 2 + x_1 + 2*x_2 65.82/45.28 POL(U61^1(x_1, x_2)) = 2 + x_1 + 2*x_2 65.82/45.28 POL(U62(x_1, x_2)) = x_1 + x_2 65.82/45.28 POL(U62^1(x_1, x_2)) = x_1 + x_2 65.82/45.28 POL(U63(x_1)) = 2 + x_1 65.82/45.28 POL(U71(x_1, x_2, x_3)) = 1 + x_1 + 2*x_2 + 3*x_3 65.82/45.28 POL(U71^1(x_1, x_2, x_3)) = x_1 + 2*x_2 + 3*x_3 65.82/45.28 POL(U72(x_1, x_2, x_3)) = 2 + x_1 + x_2 + 3*x_3 65.82/45.28 POL(U72^1(x_1, x_2, x_3)) = 2 + x_1 + x_2 + 3*x_3 65.82/45.28 POL(U73(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.28 POL(U73^1(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.28 POL(U74(x_1, x_2, x_3)) = 2 + x_1 + x_2 + x_3 65.82/45.28 POL(U74^1(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.28 POL(U75(x_1, x_2)) = 1 + x_1 + x_2 65.82/45.28 POL(U75^1(x_1, x_2)) = 2 + x_1 + x_2 65.82/45.28 POL(U76(x_1)) = 2 + x_1 65.82/45.28 POL(U81(x_1, x_2, x_3)) = x_1 + 2*x_2 + 3*x_3 65.82/45.28 POL(U81^1(x_1, x_2, x_3)) = x_1 + 2*x_2 + 3*x_3 65.82/45.28 POL(U82(x_1, x_2, x_3)) = x_1 + x_2 + 3*x_3 65.82/45.28 POL(U82^1(x_1, x_2, x_3)) = x_1 + x_2 + 3*x_3 65.82/45.28 POL(U83(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.28 POL(U83^1(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.28 POL(U84(x_1, x_2, x_3)) = 2 + x_1 + x_2 + x_3 65.82/45.28 POL(U84^1(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.28 POL(U85(x_1, x_2)) = x_1 + x_2 65.82/45.28 POL(U85^1(x_1, x_2)) = x_1 + x_2 65.82/45.28 POL(U86(x_1)) = x_1 65.82/45.28 POL(U91(x_1, x_2)) = x_1 + 2*x_2 65.82/45.28 POL(U91^1(x_1, x_2)) = 2 + x_1 + 2*x_2 65.82/45.28 POL(U92(x_1, x_2)) = x_1 + x_2 65.82/45.28 POL(U92^1(x_1, x_2)) = x_1 + x_2 65.82/45.28 POL(U93(x_1)) = x_1 65.82/45.28 POL(empty) = 2 65.82/45.28 POL(isBag(x_1)) = 1 + x_1 65.82/45.28 POL(isBagKind(x_1)) = x_1 65.82/45.28 POL(isBin(x_1)) = x_1 65.82/45.28 POL(isBinKind(x_1)) = x_1 65.82/45.28 POL(mult(x_1, x_2)) = 1 + 3*x_1 + 3*x_2 65.82/45.28 POL(plus(x_1, x_2)) = 2 + 3*x_1 + 3*x_2 65.82/45.28 POL(prod(x_1)) = 2 + 3*x_1 65.82/45.28 POL(singl(x_1)) = 3*x_1 65.82/45.28 POL(sum(x_1)) = 1 + 3*x_1 65.82/45.28 POL(tt) = 2 65.82/45.28 POL(union(x_1, x_2)) = 1 + 3*x_1 + 3*x_2 65.82/45.28 POL(z) = 2 65.82/45.28 65.82/45.28 65.82/45.28 ---------------------------------------- 65.82/45.28 65.82/45.28 (16) 65.82/45.28 Obligation: 65.82/45.28 The TRS P consists of the following rules: 65.82/45.28 65.82/45.28 U11^1(tt, V1) -> U12^1(isBinKind(V1), V1) 65.82/45.28 U74^1(tt, V1, V2) -> U75^1(isBin(V1), V2) 65.82/45.28 U71^1(tt, V1, V2) -> U72^1(isBinKind(V1), V1, V2) 65.82/45.28 U22^1(tt, V1, V2) -> U23^1(isBagKind(V2), V1, V2) 65.82/45.28 65.82/45.28 The TRS R consists of the following rules: 65.82/45.28 65.82/45.28 U103(tt) -> tt 65.82/45.28 U93(tt) -> tt 65.82/45.28 U111(tt) -> tt 65.82/45.28 U121(tt) -> tt 65.82/45.28 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.28 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.28 U13(tt) -> tt 65.82/45.28 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.28 U31(tt) -> tt 65.82/45.28 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.28 U86(tt) -> tt 65.82/45.28 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.28 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.28 65.82/45.28 E is empty. 65.82/45.28 E# is empty. 65.82/45.28 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.28 ---------------------------------------- 65.82/45.28 65.82/45.28 (17) EDependencyGraphProof (EQUIVALENT) 65.82/45.28 The approximation of the Equational Dependency Graph [DA_STEIN] contains 0 SCCs with 4 less nodes. 65.82/45.28 ---------------------------------------- 65.82/45.28 65.82/45.28 (18) 65.82/45.28 TRUE 65.82/45.28 65.82/45.28 ---------------------------------------- 65.82/45.28 65.82/45.28 (19) 65.82/45.28 Obligation: 65.82/45.28 The TRS P consists of the following rules: 65.82/45.28 65.82/45.28 U214^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.28 PLUS(plus(0(X), 1(Y)), ext) -> U221^1(isBin(X), X, Y) 65.82/45.28 U221^1(tt, X, Y) -> U222^1(isBinKind(X), X, Y) 65.82/45.28 PLUS(1(X), 1(Y)) -> U231^1(isBin(X), X, Y) 65.82/45.28 U212^1(tt, X, Y) -> U213^1(isBin(Y), X, Y) 65.82/45.28 PLUS(0(X), 1(Y)) -> U221^1(isBin(X), X, Y) 65.82/45.28 PLUS(plus(0(X), 0(Y)), ext) -> U211^1(isBin(X), X, Y) 65.82/45.28 U223^1(tt, X, Y) -> U224^1(isBinKind(Y), X, Y) 65.82/45.28 U231^1(tt, X, Y) -> U232^1(isBinKind(X), X, Y) 65.82/45.28 U232^1(tt, X, Y) -> U233^1(isBin(Y), X, Y) 65.82/45.28 U224^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.28 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U221(isBin(X), X, Y), ext) 65.82/45.28 PLUS(0(X), 0(Y)) -> U211^1(isBin(X), X, Y) 65.82/45.28 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U211(isBin(X), X, Y), ext) 65.82/45.28 PLUS(plus(z, X), ext) -> PLUS(U201(isBin(X), X), ext) 65.82/45.28 U233^1(tt, X, Y) -> U234^1(isBinKind(Y), X, Y) 65.82/45.28 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U231(isBin(X), X, Y), ext) 65.82/45.28 U234^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.28 U234^1(tt, X, Y) -> PLUS(plus(X, Y), 1(z)) 65.82/45.28 U213^1(tt, X, Y) -> U214^1(isBinKind(Y), X, Y) 65.82/45.28 U211^1(tt, X, Y) -> U212^1(isBinKind(X), X, Y) 65.82/45.28 U222^1(tt, X, Y) -> U223^1(isBin(Y), X, Y) 65.82/45.28 PLUS(plus(1(X), 1(Y)), ext) -> U231^1(isBin(X), X, Y) 65.82/45.28 65.82/45.28 The TRS R consists of the following rules: 65.82/45.28 65.82/45.28 union(X, empty) -> X 65.82/45.28 union(empty, X) -> X 65.82/45.28 0(z) -> z 65.82/45.28 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.28 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.28 U103(tt) -> tt 65.82/45.28 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.28 U111(tt) -> tt 65.82/45.28 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.28 U121(tt) -> tt 65.82/45.28 U13(tt) -> tt 65.82/45.28 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.28 U132(tt) -> tt 65.82/45.28 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.28 U142(tt) -> tt 65.82/45.28 U151(tt) -> tt 65.82/45.28 U161(tt) -> tt 65.82/45.28 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.28 U172(tt) -> z 65.82/45.28 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.28 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.28 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.28 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.28 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.28 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.28 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.28 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.28 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.28 U202(tt, X) -> X 65.82/45.28 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.28 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.28 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.28 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.28 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.28 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.28 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.28 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.28 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.28 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.28 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.28 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.28 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.28 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.28 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.28 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.28 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.28 U242(tt, X) -> X 65.82/45.28 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.28 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.28 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.28 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.28 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.28 U26(tt) -> tt 65.82/45.28 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.28 U262(tt, X) -> X 65.82/45.28 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.28 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.28 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.28 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.28 U31(tt) -> tt 65.82/45.28 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.28 U42(tt) -> tt 65.82/45.28 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.28 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.28 U53(tt) -> tt 65.82/45.28 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.28 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.28 U63(tt) -> tt 65.82/45.28 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.28 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.28 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.28 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.28 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.28 U76(tt) -> tt 65.82/45.28 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.28 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.28 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.28 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.28 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.28 U86(tt) -> tt 65.82/45.28 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.28 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.28 U93(tt) -> tt 65.82/45.28 isBag(empty) -> tt 65.82/45.28 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.28 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.28 isBagKind(empty) -> tt 65.82/45.28 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.28 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.28 isBin(z) -> tt 65.82/45.28 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.28 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.28 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.28 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.28 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.28 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.28 isBinKind(z) -> tt 65.82/45.28 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.28 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.28 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.28 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.28 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.28 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.28 mult(z, X) -> U171(isBin(X), X) 65.82/45.28 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.28 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.28 plus(z, X) -> U201(isBin(X), X) 65.82/45.28 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.28 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.28 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.28 prod(empty) -> 1(z) 65.82/45.28 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.28 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.28 sum(empty) -> 0(z) 65.82/45.28 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.28 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.28 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.28 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.28 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.28 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.28 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.28 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.28 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.28 65.82/45.28 The set E consists of the following equations: 65.82/45.28 65.82/45.28 mult(x, y) == mult(y, x) 65.82/45.28 plus(x, y) == plus(y, x) 65.82/45.28 union(x, y) == union(y, x) 65.82/45.28 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.28 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.28 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.28 65.82/45.28 The set E# consists of the following equations: 65.82/45.28 65.82/45.28 MULT(x, y) == MULT(y, x) 65.82/45.28 PLUS(x, y) == PLUS(y, x) 65.82/45.28 UNION(x, y) == UNION(y, x) 65.82/45.28 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.28 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.28 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.28 65.82/45.28 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.28 ---------------------------------------- 65.82/45.28 65.82/45.28 (20) ESharpUsableEquationsProof (EQUIVALENT) 65.82/45.28 We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: 65.82/45.28 MULT(x, y) == MULT(y, x) 65.82/45.28 UNION(x, y) == UNION(y, x) 65.82/45.28 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.28 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.28 65.82/45.28 ---------------------------------------- 65.82/45.28 65.82/45.28 (21) 65.82/45.28 Obligation: 65.82/45.28 The TRS P consists of the following rules: 65.82/45.28 65.82/45.28 U214^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.28 PLUS(plus(0(X), 1(Y)), ext) -> U221^1(isBin(X), X, Y) 65.82/45.28 U221^1(tt, X, Y) -> U222^1(isBinKind(X), X, Y) 65.82/45.28 PLUS(1(X), 1(Y)) -> U231^1(isBin(X), X, Y) 65.82/45.28 U212^1(tt, X, Y) -> U213^1(isBin(Y), X, Y) 65.82/45.28 PLUS(0(X), 1(Y)) -> U221^1(isBin(X), X, Y) 65.82/45.28 PLUS(plus(0(X), 0(Y)), ext) -> U211^1(isBin(X), X, Y) 65.82/45.28 U223^1(tt, X, Y) -> U224^1(isBinKind(Y), X, Y) 65.82/45.28 U231^1(tt, X, Y) -> U232^1(isBinKind(X), X, Y) 65.82/45.28 U232^1(tt, X, Y) -> U233^1(isBin(Y), X, Y) 65.82/45.28 U224^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.28 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U221(isBin(X), X, Y), ext) 65.82/45.28 PLUS(0(X), 0(Y)) -> U211^1(isBin(X), X, Y) 65.82/45.28 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U211(isBin(X), X, Y), ext) 65.82/45.28 PLUS(plus(z, X), ext) -> PLUS(U201(isBin(X), X), ext) 65.82/45.28 U233^1(tt, X, Y) -> U234^1(isBinKind(Y), X, Y) 65.82/45.28 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U231(isBin(X), X, Y), ext) 65.82/45.28 U234^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.28 U234^1(tt, X, Y) -> PLUS(plus(X, Y), 1(z)) 65.82/45.28 U213^1(tt, X, Y) -> U214^1(isBinKind(Y), X, Y) 65.82/45.28 U211^1(tt, X, Y) -> U212^1(isBinKind(X), X, Y) 65.82/45.28 U222^1(tt, X, Y) -> U223^1(isBin(Y), X, Y) 65.82/45.28 PLUS(plus(1(X), 1(Y)), ext) -> U231^1(isBin(X), X, Y) 65.82/45.28 65.82/45.28 The TRS R consists of the following rules: 65.82/45.28 65.82/45.28 union(X, empty) -> X 65.82/45.28 union(empty, X) -> X 65.82/45.28 0(z) -> z 65.82/45.28 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.28 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.28 U103(tt) -> tt 65.82/45.28 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.28 U111(tt) -> tt 65.82/45.28 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.28 U121(tt) -> tt 65.82/45.28 U13(tt) -> tt 65.82/45.28 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.28 U132(tt) -> tt 65.82/45.28 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.28 U142(tt) -> tt 65.82/45.28 U151(tt) -> tt 65.82/45.28 U161(tt) -> tt 65.82/45.28 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.28 U172(tt) -> z 65.82/45.28 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.28 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.28 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.28 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.28 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.28 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.28 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.28 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.28 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.28 U202(tt, X) -> X 65.82/45.28 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.28 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.28 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.28 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.28 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.28 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.28 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.28 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.28 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.28 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.28 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.28 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.28 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.28 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.28 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.28 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.28 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.28 U242(tt, X) -> X 65.82/45.28 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.28 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.28 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.28 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.28 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.28 U26(tt) -> tt 65.82/45.28 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.28 U262(tt, X) -> X 65.82/45.28 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.28 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.28 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.28 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.28 U31(tt) -> tt 65.82/45.28 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.28 U42(tt) -> tt 65.82/45.28 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.28 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.28 U53(tt) -> tt 65.82/45.28 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.28 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.28 U63(tt) -> tt 65.82/45.28 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.28 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.28 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.28 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.28 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.28 U76(tt) -> tt 65.82/45.28 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.28 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.28 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.28 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.28 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.28 U86(tt) -> tt 65.82/45.28 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.28 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.28 U93(tt) -> tt 65.82/45.28 isBag(empty) -> tt 65.82/45.28 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.28 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.28 isBagKind(empty) -> tt 65.82/45.28 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.28 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.28 isBin(z) -> tt 65.82/45.28 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.28 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.28 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.28 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.28 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.28 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.28 isBinKind(z) -> tt 65.82/45.28 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.28 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.28 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.28 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.28 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.28 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.28 mult(z, X) -> U171(isBin(X), X) 65.82/45.28 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.28 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.28 plus(z, X) -> U201(isBin(X), X) 65.82/45.28 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.28 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.28 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.28 prod(empty) -> 1(z) 65.82/45.28 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.28 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.28 sum(empty) -> 0(z) 65.82/45.28 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.28 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.28 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.28 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.28 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.28 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.28 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.28 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.28 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.28 65.82/45.28 The set E consists of the following equations: 65.82/45.28 65.82/45.28 mult(x, y) == mult(y, x) 65.82/45.28 plus(x, y) == plus(y, x) 65.82/45.28 union(x, y) == union(y, x) 65.82/45.28 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.28 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.28 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.28 65.82/45.28 The set E# consists of the following equations: 65.82/45.28 65.82/45.28 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.28 PLUS(x, y) == PLUS(y, x) 65.82/45.28 65.82/45.28 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.28 ---------------------------------------- 65.82/45.28 65.82/45.28 (22) EDPPoloProof (EQUIVALENT) 65.82/45.28 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. 65.82/45.28 65.82/45.28 65.82/45.28 PLUS(plus(0(X), 1(Y)), ext) -> U221^1(isBin(X), X, Y) 65.82/45.28 U221^1(tt, X, Y) -> U222^1(isBinKind(X), X, Y) 65.82/45.28 PLUS(1(X), 1(Y)) -> U231^1(isBin(X), X, Y) 65.82/45.28 PLUS(0(X), 1(Y)) -> U221^1(isBin(X), X, Y) 65.82/45.28 PLUS(plus(0(X), 0(Y)), ext) -> U211^1(isBin(X), X, Y) 65.82/45.28 U231^1(tt, X, Y) -> U232^1(isBinKind(X), X, Y) 65.82/45.28 PLUS(plus(0(X), 1(Y)), ext) -> PLUS(U221(isBin(X), X, Y), ext) 65.82/45.28 PLUS(0(X), 0(Y)) -> U211^1(isBin(X), X, Y) 65.82/45.28 PLUS(plus(0(X), 0(Y)), ext) -> PLUS(U211(isBin(X), X, Y), ext) 65.82/45.28 U234^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.28 U211^1(tt, X, Y) -> U212^1(isBinKind(X), X, Y) 65.82/45.28 U222^1(tt, X, Y) -> U223^1(isBin(Y), X, Y) 65.82/45.28 PLUS(plus(1(X), 1(Y)), ext) -> U231^1(isBin(X), X, Y) 65.82/45.28 The remaining Dependency Pairs were at least non-strictly oriented. 65.82/45.28 65.82/45.28 65.82/45.28 U214^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.28 U212^1(tt, X, Y) -> U213^1(isBin(Y), X, Y) 65.82/45.28 U223^1(tt, X, Y) -> U224^1(isBinKind(Y), X, Y) 65.82/45.28 U232^1(tt, X, Y) -> U233^1(isBin(Y), X, Y) 65.82/45.28 U224^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.28 PLUS(plus(z, X), ext) -> PLUS(U201(isBin(X), X), ext) 65.82/45.28 U233^1(tt, X, Y) -> U234^1(isBinKind(Y), X, Y) 65.82/45.28 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U231(isBin(X), X, Y), ext) 65.82/45.28 U234^1(tt, X, Y) -> PLUS(plus(X, Y), 1(z)) 65.82/45.28 U213^1(tt, X, Y) -> U214^1(isBinKind(Y), X, Y) 65.82/45.28 With the implicit AFS we had to orient the following set of usable rules of R non-strictly. 65.82/45.28 65.82/45.28 65.82/45.28 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.28 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.28 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.28 U202(tt, X) -> X 65.82/45.28 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.28 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.28 0(z) -> z 65.82/45.28 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.28 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.28 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.28 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.28 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.28 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.28 plus(z, X) -> U201(isBin(X), X) 65.82/45.28 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.28 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.28 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.28 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.28 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.28 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.28 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.28 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.28 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.28 We had to orient the following equations of E# equivalently. 65.82/45.28 65.82/45.28 65.82/45.28 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.28 PLUS(x, y) == PLUS(y, x) 65.82/45.28 With the implicit AFS we had to orient the following usable equations of E equivalently. 65.82/45.28 65.82/45.28 65.82/45.28 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.28 plus(x, y) == plus(y, x) 65.82/45.28 Used ordering: POLO with Polynomial interpretation [POLO]: 65.82/45.28 65.82/45.28 POL(0(x_1)) = 1 + x_1 65.82/45.28 POL(1(x_1)) = 1 + x_1 65.82/45.28 POL(PLUS(x_1, x_2)) = 2*x_1 + 2*x_2 65.82/45.28 POL(U101(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U102(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U103(x_1)) = 3 65.82/45.28 POL(U11(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U111(x_1)) = 3 65.82/45.28 POL(U12(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U121(x_1)) = 3 65.82/45.28 POL(U13(x_1)) = 3 65.82/45.28 POL(U131(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U132(x_1)) = 3 65.82/45.28 POL(U141(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U142(x_1)) = 3 65.82/45.28 POL(U151(x_1)) = 3 65.82/45.28 POL(U161(x_1)) = 3 65.82/45.28 POL(U201(x_1, x_2)) = x_2 65.82/45.28 POL(U202(x_1, x_2)) = x_2 65.82/45.28 POL(U21(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.28 POL(U211(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.28 POL(U211^1(x_1, x_2, x_3)) = 3 + 2*x_2 + 2*x_3 65.82/45.28 POL(U212(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.28 POL(U212^1(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 65.82/45.28 POL(U213(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.28 POL(U213^1(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 65.82/45.28 POL(U214(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.28 POL(U214^1(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 65.82/45.28 POL(U22(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.28 POL(U221(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.28 POL(U221^1(x_1, x_2, x_3)) = 3 + 2*x_2 + 2*x_3 65.82/45.28 POL(U222(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.28 POL(U222^1(x_1, x_2, x_3)) = 1 + 2*x_2 + 2*x_3 65.82/45.28 POL(U223(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.28 POL(U223^1(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 65.82/45.28 POL(U224(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.28 POL(U224^1(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 65.82/45.28 POL(U23(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.28 POL(U231(x_1, x_2, x_3)) = 2 + x_2 + x_3 65.82/45.28 POL(U231^1(x_1, x_2, x_3)) = 3 + 2*x_2 + 2*x_3 65.82/45.28 POL(U232(x_1, x_2, x_3)) = 2 + x_2 + x_3 65.82/45.28 POL(U232^1(x_1, x_2, x_3)) = 2 + 2*x_2 + 2*x_3 65.82/45.28 POL(U233(x_1, x_2, x_3)) = 2 + x_2 + x_3 65.82/45.28 POL(U233^1(x_1, x_2, x_3)) = 2 + 2*x_2 + 2*x_3 65.82/45.28 POL(U234(x_1, x_2, x_3)) = 2 + x_2 + x_3 65.82/45.28 POL(U234^1(x_1, x_2, x_3)) = 2 + 2*x_2 + 2*x_3 65.82/45.28 POL(U24(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.28 POL(U25(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U26(x_1)) = 3 65.82/45.28 POL(U31(x_1)) = 3 65.82/45.28 POL(U41(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U42(x_1)) = 3 65.82/45.28 POL(U51(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U52(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U53(x_1)) = 3 65.82/45.28 POL(U61(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U62(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U63(x_1)) = 3 65.82/45.28 POL(U71(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.28 POL(U72(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.28 POL(U73(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.28 POL(U74(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.28 POL(U75(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U76(x_1)) = 3 65.82/45.28 POL(U81(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.28 POL(U82(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.28 POL(U83(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.28 POL(U84(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.28 POL(U85(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U86(x_1)) = 3 65.82/45.28 POL(U91(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U92(x_1, x_2)) = 3 + 3*x_2 65.82/45.28 POL(U93(x_1)) = 3 65.82/45.28 POL(empty) = 0 65.82/45.28 POL(isBag(x_1)) = 0 65.82/45.28 POL(isBagKind(x_1)) = 0 65.82/45.28 POL(isBin(x_1)) = 0 65.82/45.28 POL(isBinKind(x_1)) = 0 65.82/45.28 POL(mult(x_1, x_2)) = 0 65.82/45.28 POL(plus(x_1, x_2)) = x_1 + x_2 65.82/45.28 POL(prod(x_1)) = 0 65.82/45.28 POL(singl(x_1)) = 0 65.82/45.28 POL(sum(x_1)) = 0 65.82/45.28 POL(tt) = 0 65.82/45.28 POL(union(x_1, x_2)) = 0 65.82/45.28 POL(z) = 0 65.82/45.28 65.82/45.28 65.82/45.28 ---------------------------------------- 65.82/45.28 65.82/45.28 (23) 65.82/45.28 Obligation: 65.82/45.28 The TRS P consists of the following rules: 65.82/45.28 65.82/45.28 U214^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.28 U212^1(tt, X, Y) -> U213^1(isBin(Y), X, Y) 65.82/45.28 U223^1(tt, X, Y) -> U224^1(isBinKind(Y), X, Y) 65.82/45.28 U232^1(tt, X, Y) -> U233^1(isBin(Y), X, Y) 65.82/45.28 U224^1(tt, X, Y) -> PLUS(X, Y) 65.82/45.28 PLUS(plus(z, X), ext) -> PLUS(U201(isBin(X), X), ext) 65.82/45.28 U233^1(tt, X, Y) -> U234^1(isBinKind(Y), X, Y) 65.82/45.28 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U231(isBin(X), X, Y), ext) 65.82/45.28 U234^1(tt, X, Y) -> PLUS(plus(X, Y), 1(z)) 65.82/45.28 U213^1(tt, X, Y) -> U214^1(isBinKind(Y), X, Y) 65.82/45.28 65.82/45.28 The TRS R consists of the following rules: 65.82/45.28 65.82/45.28 union(X, empty) -> X 65.82/45.28 union(empty, X) -> X 65.82/45.28 0(z) -> z 65.82/45.28 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.28 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.28 U103(tt) -> tt 65.82/45.28 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.28 U111(tt) -> tt 65.82/45.28 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.28 U121(tt) -> tt 65.82/45.28 U13(tt) -> tt 65.82/45.28 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.28 U132(tt) -> tt 65.82/45.28 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.28 U142(tt) -> tt 65.82/45.28 U151(tt) -> tt 65.82/45.28 U161(tt) -> tt 65.82/45.28 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.28 U172(tt) -> z 65.82/45.28 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.28 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.28 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.28 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.28 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.28 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.28 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.28 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.28 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.28 U202(tt, X) -> X 65.82/45.28 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.28 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.28 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.28 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.28 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.28 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.28 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.28 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.28 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.28 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.28 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.28 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.28 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.28 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.28 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.28 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.28 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.28 U242(tt, X) -> X 65.82/45.28 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.28 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.28 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.28 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.28 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.28 U26(tt) -> tt 65.82/45.28 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.28 U262(tt, X) -> X 65.82/45.28 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.28 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.28 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.28 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.28 U31(tt) -> tt 65.82/45.28 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.28 U42(tt) -> tt 65.82/45.28 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.28 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.28 U53(tt) -> tt 65.82/45.28 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.28 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.28 U63(tt) -> tt 65.82/45.28 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.28 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.28 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.28 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.28 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.28 U76(tt) -> tt 65.82/45.28 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.28 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.28 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.28 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.28 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.28 U86(tt) -> tt 65.82/45.28 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.28 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.28 U93(tt) -> tt 65.82/45.28 isBag(empty) -> tt 65.82/45.28 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.28 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.28 isBagKind(empty) -> tt 65.82/45.28 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.28 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.28 isBin(z) -> tt 65.82/45.28 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.28 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.28 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.28 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.28 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.28 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.28 isBinKind(z) -> tt 65.82/45.28 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.28 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.28 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.28 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.28 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.28 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.28 mult(z, X) -> U171(isBin(X), X) 65.82/45.28 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.28 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.28 plus(z, X) -> U201(isBin(X), X) 65.82/45.28 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.28 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.28 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.28 prod(empty) -> 1(z) 65.82/45.28 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.28 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.28 sum(empty) -> 0(z) 65.82/45.28 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.28 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.28 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.28 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.28 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.28 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.28 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.28 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.28 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.28 65.82/45.28 The set E consists of the following equations: 65.82/45.28 65.82/45.28 mult(x, y) == mult(y, x) 65.82/45.28 plus(x, y) == plus(y, x) 65.82/45.28 union(x, y) == union(y, x) 65.82/45.28 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.28 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.28 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.28 65.82/45.28 The set E# consists of the following equations: 65.82/45.28 65.82/45.28 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.28 PLUS(x, y) == PLUS(y, x) 65.82/45.28 65.82/45.28 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.28 ---------------------------------------- 65.82/45.28 65.82/45.28 (24) EDependencyGraphProof (EQUIVALENT) 65.82/45.28 The approximation of the Equational Dependency Graph [DA_STEIN] contains 1 SCC with 8 less nodes. 65.82/45.28 ---------------------------------------- 65.82/45.28 65.82/45.28 (25) 65.82/45.28 Obligation: 65.82/45.28 The TRS P consists of the following rules: 65.82/45.28 65.82/45.28 PLUS(plus(z, X), ext) -> PLUS(U201(isBin(X), X), ext) 65.82/45.29 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U231(isBin(X), X, Y), ext) 65.82/45.29 65.82/45.29 The TRS R consists of the following rules: 65.82/45.29 65.82/45.29 union(X, empty) -> X 65.82/45.29 union(empty, X) -> X 65.82/45.29 0(z) -> z 65.82/45.29 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.29 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.29 U103(tt) -> tt 65.82/45.29 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.29 U111(tt) -> tt 65.82/45.29 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.29 U121(tt) -> tt 65.82/45.29 U13(tt) -> tt 65.82/45.29 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.29 U132(tt) -> tt 65.82/45.29 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.29 U142(tt) -> tt 65.82/45.29 U151(tt) -> tt 65.82/45.29 U161(tt) -> tt 65.82/45.29 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.29 U172(tt) -> z 65.82/45.29 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.29 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.29 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.29 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.29 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.29 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.29 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.29 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.29 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.29 U242(tt, X) -> X 65.82/45.29 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.29 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.29 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.29 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.29 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.29 U26(tt) -> tt 65.82/45.29 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.29 U262(tt, X) -> X 65.82/45.29 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.29 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.29 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.29 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.29 U31(tt) -> tt 65.82/45.29 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.29 U42(tt) -> tt 65.82/45.29 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.29 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.29 U53(tt) -> tt 65.82/45.29 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.29 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.29 U63(tt) -> tt 65.82/45.29 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.29 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.29 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.29 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.29 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.29 U76(tt) -> tt 65.82/45.29 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.29 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.29 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.29 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.29 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.29 U86(tt) -> tt 65.82/45.29 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.29 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.29 U93(tt) -> tt 65.82/45.29 isBag(empty) -> tt 65.82/45.29 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.29 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.29 isBagKind(empty) -> tt 65.82/45.29 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.29 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.29 isBin(z) -> tt 65.82/45.29 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.29 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.29 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.29 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.29 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.29 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.29 isBinKind(z) -> tt 65.82/45.29 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.29 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.29 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.29 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.29 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.29 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.29 mult(z, X) -> U171(isBin(X), X) 65.82/45.29 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.29 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.29 plus(z, X) -> U201(isBin(X), X) 65.82/45.29 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.29 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.29 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.29 prod(empty) -> 1(z) 65.82/45.29 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.29 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.29 sum(empty) -> 0(z) 65.82/45.29 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.29 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.29 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.29 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.29 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.29 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.29 65.82/45.29 The set E consists of the following equations: 65.82/45.29 65.82/45.29 mult(x, y) == mult(y, x) 65.82/45.29 plus(x, y) == plus(y, x) 65.82/45.29 union(x, y) == union(y, x) 65.82/45.29 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.29 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.29 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.29 65.82/45.29 The set E# consists of the following equations: 65.82/45.29 65.82/45.29 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.29 PLUS(x, y) == PLUS(y, x) 65.82/45.29 65.82/45.29 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (26) EDPPoloProof (EQUIVALENT) 65.82/45.29 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. 65.82/45.29 65.82/45.29 65.82/45.29 PLUS(plus(1(X), 1(Y)), ext) -> PLUS(U231(isBin(X), X, Y), ext) 65.82/45.29 The remaining Dependency Pairs were at least non-strictly oriented. 65.82/45.29 65.82/45.29 65.82/45.29 PLUS(plus(z, X), ext) -> PLUS(U201(isBin(X), X), ext) 65.82/45.29 With the implicit AFS we had to orient the following set of usable rules of R non-strictly. 65.82/45.29 65.82/45.29 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 0(z) -> z 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 plus(z, X) -> U201(isBin(X), X) 65.82/45.29 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.29 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.29 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.29 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.29 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.29 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.29 We had to orient the following equations of E# equivalently. 65.82/45.29 65.82/45.29 65.82/45.29 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.29 PLUS(x, y) == PLUS(y, x) 65.82/45.29 With the implicit AFS we had to orient the following usable equations of E equivalently. 65.82/45.29 65.82/45.29 65.82/45.29 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.29 plus(x, y) == plus(y, x) 65.82/45.29 Used ordering: POLO with Polynomial interpretation [POLO]: 65.82/45.29 65.82/45.29 POL(0(x_1)) = 0 65.82/45.29 POL(1(x_1)) = 1 65.82/45.29 POL(PLUS(x_1, x_2)) = 2*x_1 + 2*x_2 65.82/45.29 POL(U101(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U102(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U103(x_1)) = 3 65.82/45.29 POL(U11(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U111(x_1)) = 3 65.82/45.29 POL(U12(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U121(x_1)) = 3 65.82/45.29 POL(U13(x_1)) = 3 65.82/45.29 POL(U131(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U132(x_1)) = 3 65.82/45.29 POL(U141(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U142(x_1)) = 3 65.82/45.29 POL(U151(x_1)) = 3 65.82/45.29 POL(U161(x_1)) = 3 65.82/45.29 POL(U201(x_1, x_2)) = x_2 65.82/45.29 POL(U202(x_1, x_2)) = x_2 65.82/45.29 POL(U21(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U211(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U212(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U213(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U214(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U22(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U221(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U222(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U223(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U224(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U23(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U231(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U232(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U233(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U234(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U24(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U25(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U26(x_1)) = 3 65.82/45.29 POL(U31(x_1)) = 3 65.82/45.29 POL(U41(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U42(x_1)) = 3 65.82/45.29 POL(U51(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U52(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U53(x_1)) = 3 65.82/45.29 POL(U61(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U62(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U63(x_1)) = 3 65.82/45.29 POL(U71(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U72(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U73(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U74(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U75(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U76(x_1)) = 3 65.82/45.29 POL(U81(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U82(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U83(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U84(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U85(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U86(x_1)) = 3 65.82/45.29 POL(U91(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U92(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U93(x_1)) = 3 65.82/45.29 POL(empty) = 0 65.82/45.29 POL(isBag(x_1)) = 0 65.82/45.29 POL(isBagKind(x_1)) = 0 65.82/45.29 POL(isBin(x_1)) = 0 65.82/45.29 POL(isBinKind(x_1)) = 0 65.82/45.29 POL(mult(x_1, x_2)) = 0 65.82/45.29 POL(plus(x_1, x_2)) = x_1 + x_2 65.82/45.29 POL(prod(x_1)) = 0 65.82/45.29 POL(singl(x_1)) = 0 65.82/45.29 POL(sum(x_1)) = 0 65.82/45.29 POL(tt) = 0 65.82/45.29 POL(union(x_1, x_2)) = 0 65.82/45.29 POL(z) = 0 65.82/45.29 65.82/45.29 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (27) 65.82/45.29 Obligation: 65.82/45.29 The TRS P consists of the following rules: 65.82/45.29 65.82/45.29 PLUS(plus(z, X), ext) -> PLUS(U201(isBin(X), X), ext) 65.82/45.29 65.82/45.29 The TRS R consists of the following rules: 65.82/45.29 65.82/45.29 union(X, empty) -> X 65.82/45.29 union(empty, X) -> X 65.82/45.29 0(z) -> z 65.82/45.29 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.29 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.29 U103(tt) -> tt 65.82/45.29 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.29 U111(tt) -> tt 65.82/45.29 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.29 U121(tt) -> tt 65.82/45.29 U13(tt) -> tt 65.82/45.29 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.29 U132(tt) -> tt 65.82/45.29 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.29 U142(tt) -> tt 65.82/45.29 U151(tt) -> tt 65.82/45.29 U161(tt) -> tt 65.82/45.29 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.29 U172(tt) -> z 65.82/45.29 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.29 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.29 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.29 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.29 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.29 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.29 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.29 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.29 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.29 U242(tt, X) -> X 65.82/45.29 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.29 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.29 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.29 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.29 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.29 U26(tt) -> tt 65.82/45.29 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.29 U262(tt, X) -> X 65.82/45.29 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.29 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.29 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.29 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.29 U31(tt) -> tt 65.82/45.29 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.29 U42(tt) -> tt 65.82/45.29 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.29 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.29 U53(tt) -> tt 65.82/45.29 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.29 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.29 U63(tt) -> tt 65.82/45.29 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.29 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.29 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.29 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.29 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.29 U76(tt) -> tt 65.82/45.29 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.29 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.29 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.29 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.29 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.29 U86(tt) -> tt 65.82/45.29 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.29 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.29 U93(tt) -> tt 65.82/45.29 isBag(empty) -> tt 65.82/45.29 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.29 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.29 isBagKind(empty) -> tt 65.82/45.29 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.29 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.29 isBin(z) -> tt 65.82/45.29 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.29 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.29 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.29 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.29 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.29 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.29 isBinKind(z) -> tt 65.82/45.29 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.29 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.29 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.29 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.29 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.29 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.29 mult(z, X) -> U171(isBin(X), X) 65.82/45.29 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.29 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.29 plus(z, X) -> U201(isBin(X), X) 65.82/45.29 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.29 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.29 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.29 prod(empty) -> 1(z) 65.82/45.29 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.29 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.29 sum(empty) -> 0(z) 65.82/45.29 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.29 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.29 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.29 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.29 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.29 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.29 65.82/45.29 The set E consists of the following equations: 65.82/45.29 65.82/45.29 mult(x, y) == mult(y, x) 65.82/45.29 plus(x, y) == plus(y, x) 65.82/45.29 union(x, y) == union(y, x) 65.82/45.29 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.29 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.29 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.29 65.82/45.29 The set E# consists of the following equations: 65.82/45.29 65.82/45.29 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.29 PLUS(x, y) == PLUS(y, x) 65.82/45.29 65.82/45.29 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (28) EDPPoloProof (EQUIVALENT) 65.82/45.29 We use the reduction pair processor [DA_STEIN] with a polynomial ordering [POLO]. All Dependency Pairs of this DP problem can be strictly oriented. 65.82/45.29 65.82/45.29 65.82/45.29 PLUS(plus(z, X), ext) -> PLUS(U201(isBin(X), X), ext) 65.82/45.29 With the implicit AFS we had to orient the following set of usable rules of R non-strictly. 65.82/45.29 65.82/45.29 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 0(z) -> z 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 plus(z, X) -> U201(isBin(X), X) 65.82/45.29 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.29 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.29 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.29 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.29 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.29 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 We had to orient the following equations of E# equivalently. 65.82/45.29 65.82/45.29 65.82/45.29 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.29 PLUS(x, y) == PLUS(y, x) 65.82/45.29 With the implicit AFS we had to orient the following usable equations of E equivalently. 65.82/45.29 65.82/45.29 65.82/45.29 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.29 plus(x, y) == plus(y, x) 65.82/45.29 Used ordering: POLO with Polynomial interpretation [POLO]: 65.82/45.29 65.82/45.29 POL(0(x_1)) = 0 65.82/45.29 POL(1(x_1)) = 2 65.82/45.29 POL(PLUS(x_1, x_2)) = x_1 + x_2 65.82/45.29 POL(U101(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U102(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U103(x_1)) = 3 65.82/45.29 POL(U11(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U111(x_1)) = 3 65.82/45.29 POL(U12(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U121(x_1)) = 3 65.82/45.29 POL(U13(x_1)) = 3 65.82/45.29 POL(U131(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U132(x_1)) = 3 65.82/45.29 POL(U141(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U142(x_1)) = 3 65.82/45.29 POL(U151(x_1)) = 3 65.82/45.29 POL(U161(x_1)) = 3 65.82/45.29 POL(U201(x_1, x_2)) = x_2 65.82/45.29 POL(U202(x_1, x_2)) = x_2 65.82/45.29 POL(U21(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U211(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U212(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U213(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U214(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U22(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U221(x_1, x_2, x_3)) = 3 65.82/45.29 POL(U222(x_1, x_2, x_3)) = 3 65.82/45.29 POL(U223(x_1, x_2, x_3)) = 3 65.82/45.29 POL(U224(x_1, x_2, x_3)) = 3 65.82/45.29 POL(U23(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U231(x_1, x_2, x_3)) = 2 65.82/45.29 POL(U232(x_1, x_2, x_3)) = 2 65.82/45.29 POL(U233(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U234(x_1, x_2, x_3)) = 0 65.82/45.29 POL(U24(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U25(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U26(x_1)) = 3 65.82/45.29 POL(U31(x_1)) = 3 65.82/45.29 POL(U41(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U42(x_1)) = 3 65.82/45.29 POL(U51(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U52(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U53(x_1)) = 3 65.82/45.29 POL(U61(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U62(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U63(x_1)) = 3 65.82/45.29 POL(U71(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U72(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U73(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U74(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U75(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U76(x_1)) = 3 65.82/45.29 POL(U81(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U82(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U83(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U84(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.29 POL(U85(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U86(x_1)) = 3 65.82/45.29 POL(U91(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U92(x_1, x_2)) = 3 + 3*x_2 65.82/45.29 POL(U93(x_1)) = 3 65.82/45.29 POL(empty) = 0 65.82/45.29 POL(isBag(x_1)) = 0 65.82/45.29 POL(isBagKind(x_1)) = 0 65.82/45.29 POL(isBin(x_1)) = 0 65.82/45.29 POL(isBinKind(x_1)) = 0 65.82/45.29 POL(mult(x_1, x_2)) = 0 65.82/45.29 POL(plus(x_1, x_2)) = 1 + x_1 + x_2 65.82/45.29 POL(prod(x_1)) = 0 65.82/45.29 POL(singl(x_1)) = 0 65.82/45.29 POL(sum(x_1)) = 0 65.82/45.29 POL(tt) = 0 65.82/45.29 POL(union(x_1, x_2)) = 0 65.82/45.29 POL(z) = 0 65.82/45.29 65.82/45.29 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (29) 65.82/45.29 Obligation: 65.82/45.29 P is empty. 65.82/45.29 The TRS R consists of the following rules: 65.82/45.29 65.82/45.29 union(X, empty) -> X 65.82/45.29 union(empty, X) -> X 65.82/45.29 0(z) -> z 65.82/45.29 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.29 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.29 U103(tt) -> tt 65.82/45.29 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.29 U111(tt) -> tt 65.82/45.29 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.29 U121(tt) -> tt 65.82/45.29 U13(tt) -> tt 65.82/45.29 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.29 U132(tt) -> tt 65.82/45.29 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.29 U142(tt) -> tt 65.82/45.29 U151(tt) -> tt 65.82/45.29 U161(tt) -> tt 65.82/45.29 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.29 U172(tt) -> z 65.82/45.29 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.29 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.29 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.29 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.29 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.29 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.29 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.29 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.29 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.29 U242(tt, X) -> X 65.82/45.29 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.29 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.29 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.29 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.29 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.29 U26(tt) -> tt 65.82/45.29 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.29 U262(tt, X) -> X 65.82/45.29 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.29 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.29 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.29 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.29 U31(tt) -> tt 65.82/45.29 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.29 U42(tt) -> tt 65.82/45.29 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.29 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.29 U53(tt) -> tt 65.82/45.29 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.29 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.29 U63(tt) -> tt 65.82/45.29 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.29 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.29 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.29 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.29 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.29 U76(tt) -> tt 65.82/45.29 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.29 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.29 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.29 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.29 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.29 U86(tt) -> tt 65.82/45.29 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.29 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.29 U93(tt) -> tt 65.82/45.29 isBag(empty) -> tt 65.82/45.29 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.29 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.29 isBagKind(empty) -> tt 65.82/45.29 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.29 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.29 isBin(z) -> tt 65.82/45.29 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.29 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.29 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.29 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.29 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.29 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.29 isBinKind(z) -> tt 65.82/45.29 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.29 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.29 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.29 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.29 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.29 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.29 mult(z, X) -> U171(isBin(X), X) 65.82/45.29 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.29 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.29 plus(z, X) -> U201(isBin(X), X) 65.82/45.29 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.29 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.29 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.29 prod(empty) -> 1(z) 65.82/45.29 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.29 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.29 sum(empty) -> 0(z) 65.82/45.29 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.29 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.29 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.29 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.29 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.29 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.29 65.82/45.29 The set E consists of the following equations: 65.82/45.29 65.82/45.29 mult(x, y) == mult(y, x) 65.82/45.29 plus(x, y) == plus(y, x) 65.82/45.29 union(x, y) == union(y, x) 65.82/45.29 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.29 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.29 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.29 65.82/45.29 The set E# consists of the following equations: 65.82/45.29 65.82/45.29 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.29 PLUS(x, y) == PLUS(y, x) 65.82/45.29 65.82/45.29 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (30) PisEmptyProof (EQUIVALENT) 65.82/45.29 The TRS P is empty. Hence, there is no (P,E#,R,E) chain. 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (31) 65.82/45.29 YES 65.82/45.29 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (32) 65.82/45.29 Obligation: 65.82/45.29 The TRS P consists of the following rules: 65.82/45.29 65.82/45.29 U184^1(tt, X, Y) -> MULT(X, Y) 65.82/45.29 MULT(mult(0(X), Y), ext) -> MULT(U181(isBin(X), X, Y), ext) 65.82/45.29 U193^1(tt, X, Y) -> U194^1(isBinKind(Y), X, Y) 65.82/45.29 MULT(mult(1(X), Y), ext) -> U191^1(isBin(X), X, Y) 65.82/45.29 U194^1(tt, X, Y) -> MULT(X, Y) 65.82/45.29 MULT(1(X), Y) -> U191^1(isBin(X), X, Y) 65.82/45.29 U191^1(tt, X, Y) -> U192^1(isBinKind(X), X, Y) 65.82/45.29 MULT(mult(z, X), ext) -> MULT(U171(isBin(X), X), ext) 65.82/45.29 MULT(mult(0(X), Y), ext) -> U181^1(isBin(X), X, Y) 65.82/45.29 U182^1(tt, X, Y) -> U183^1(isBin(Y), X, Y) 65.82/45.29 MULT(mult(1(X), Y), ext) -> MULT(U191(isBin(X), X, Y), ext) 65.82/45.29 MULT(0(X), Y) -> U181^1(isBin(X), X, Y) 65.82/45.29 U183^1(tt, X, Y) -> U184^1(isBinKind(Y), X, Y) 65.82/45.29 U181^1(tt, X, Y) -> U182^1(isBinKind(X), X, Y) 65.82/45.29 U192^1(tt, X, Y) -> U193^1(isBin(Y), X, Y) 65.82/45.29 65.82/45.29 The TRS R consists of the following rules: 65.82/45.29 65.82/45.29 union(X, empty) -> X 65.82/45.29 union(empty, X) -> X 65.82/45.29 0(z) -> z 65.82/45.29 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.29 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.29 U103(tt) -> tt 65.82/45.29 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.29 U111(tt) -> tt 65.82/45.29 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.29 U121(tt) -> tt 65.82/45.29 U13(tt) -> tt 65.82/45.29 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.29 U132(tt) -> tt 65.82/45.29 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.29 U142(tt) -> tt 65.82/45.29 U151(tt) -> tt 65.82/45.29 U161(tt) -> tt 65.82/45.29 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.29 U172(tt) -> z 65.82/45.29 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.29 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.29 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.29 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.29 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.29 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.29 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.29 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.29 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.29 U242(tt, X) -> X 65.82/45.29 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.29 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.29 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.29 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.29 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.29 U26(tt) -> tt 65.82/45.29 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.29 U262(tt, X) -> X 65.82/45.29 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.29 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.29 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.29 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.29 U31(tt) -> tt 65.82/45.29 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.29 U42(tt) -> tt 65.82/45.29 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.29 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.29 U53(tt) -> tt 65.82/45.29 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.29 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.29 U63(tt) -> tt 65.82/45.29 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.29 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.29 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.29 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.29 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.29 U76(tt) -> tt 65.82/45.29 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.29 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.29 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.29 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.29 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.29 U86(tt) -> tt 65.82/45.29 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.29 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.29 U93(tt) -> tt 65.82/45.29 isBag(empty) -> tt 65.82/45.29 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.29 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.29 isBagKind(empty) -> tt 65.82/45.29 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.29 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.29 isBin(z) -> tt 65.82/45.29 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.29 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.29 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.29 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.29 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.29 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.29 isBinKind(z) -> tt 65.82/45.29 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.29 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.29 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.29 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.29 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.29 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.29 mult(z, X) -> U171(isBin(X), X) 65.82/45.29 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.29 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.29 plus(z, X) -> U201(isBin(X), X) 65.82/45.29 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.29 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.29 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.29 prod(empty) -> 1(z) 65.82/45.29 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.29 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.29 sum(empty) -> 0(z) 65.82/45.29 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.29 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.29 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.29 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.29 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.29 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.29 65.82/45.29 The set E consists of the following equations: 65.82/45.29 65.82/45.29 mult(x, y) == mult(y, x) 65.82/45.29 plus(x, y) == plus(y, x) 65.82/45.29 union(x, y) == union(y, x) 65.82/45.29 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.29 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.29 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.29 65.82/45.29 The set E# consists of the following equations: 65.82/45.29 65.82/45.29 MULT(x, y) == MULT(y, x) 65.82/45.29 PLUS(x, y) == PLUS(y, x) 65.82/45.29 UNION(x, y) == UNION(y, x) 65.82/45.29 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.29 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.29 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.29 65.82/45.29 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (33) ESharpUsableEquationsProof (EQUIVALENT) 65.82/45.29 We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: 65.82/45.29 PLUS(x, y) == PLUS(y, x) 65.82/45.29 UNION(x, y) == UNION(y, x) 65.82/45.29 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.29 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.29 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (34) 65.82/45.29 Obligation: 65.82/45.29 The TRS P consists of the following rules: 65.82/45.29 65.82/45.29 U184^1(tt, X, Y) -> MULT(X, Y) 65.82/45.29 MULT(mult(0(X), Y), ext) -> MULT(U181(isBin(X), X, Y), ext) 65.82/45.29 U193^1(tt, X, Y) -> U194^1(isBinKind(Y), X, Y) 65.82/45.29 MULT(mult(1(X), Y), ext) -> U191^1(isBin(X), X, Y) 65.82/45.29 U194^1(tt, X, Y) -> MULT(X, Y) 65.82/45.29 MULT(1(X), Y) -> U191^1(isBin(X), X, Y) 65.82/45.29 U191^1(tt, X, Y) -> U192^1(isBinKind(X), X, Y) 65.82/45.29 MULT(mult(z, X), ext) -> MULT(U171(isBin(X), X), ext) 65.82/45.29 MULT(mult(0(X), Y), ext) -> U181^1(isBin(X), X, Y) 65.82/45.29 U182^1(tt, X, Y) -> U183^1(isBin(Y), X, Y) 65.82/45.29 MULT(mult(1(X), Y), ext) -> MULT(U191(isBin(X), X, Y), ext) 65.82/45.29 MULT(0(X), Y) -> U181^1(isBin(X), X, Y) 65.82/45.29 U183^1(tt, X, Y) -> U184^1(isBinKind(Y), X, Y) 65.82/45.29 U181^1(tt, X, Y) -> U182^1(isBinKind(X), X, Y) 65.82/45.29 U192^1(tt, X, Y) -> U193^1(isBin(Y), X, Y) 65.82/45.29 65.82/45.29 The TRS R consists of the following rules: 65.82/45.29 65.82/45.29 union(X, empty) -> X 65.82/45.29 union(empty, X) -> X 65.82/45.29 0(z) -> z 65.82/45.29 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.29 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.29 U103(tt) -> tt 65.82/45.29 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.29 U111(tt) -> tt 65.82/45.29 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.29 U121(tt) -> tt 65.82/45.29 U13(tt) -> tt 65.82/45.29 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.29 U132(tt) -> tt 65.82/45.29 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.29 U142(tt) -> tt 65.82/45.29 U151(tt) -> tt 65.82/45.29 U161(tt) -> tt 65.82/45.29 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.29 U172(tt) -> z 65.82/45.29 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.29 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.29 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.29 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.29 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.29 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.29 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.29 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.29 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.29 U242(tt, X) -> X 65.82/45.29 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.29 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.29 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.29 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.29 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.29 U26(tt) -> tt 65.82/45.29 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.29 U262(tt, X) -> X 65.82/45.29 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.29 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.29 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.29 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.29 U31(tt) -> tt 65.82/45.29 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.29 U42(tt) -> tt 65.82/45.29 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.29 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.29 U53(tt) -> tt 65.82/45.29 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.29 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.29 U63(tt) -> tt 65.82/45.29 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.29 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.29 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.29 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.29 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.29 U76(tt) -> tt 65.82/45.29 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.29 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.29 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.29 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.29 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.29 U86(tt) -> tt 65.82/45.29 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.29 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.29 U93(tt) -> tt 65.82/45.29 isBag(empty) -> tt 65.82/45.29 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.29 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.29 isBagKind(empty) -> tt 65.82/45.29 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.29 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.29 isBin(z) -> tt 65.82/45.29 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.29 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.29 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.29 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.29 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.29 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.29 isBinKind(z) -> tt 65.82/45.29 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.29 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.29 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.29 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.29 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.29 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.29 mult(z, X) -> U171(isBin(X), X) 65.82/45.29 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.29 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.29 plus(z, X) -> U201(isBin(X), X) 65.82/45.29 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.29 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.29 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.29 prod(empty) -> 1(z) 65.82/45.29 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.29 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.29 sum(empty) -> 0(z) 65.82/45.29 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.29 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.29 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.29 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.29 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.29 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.29 65.82/45.29 The set E consists of the following equations: 65.82/45.29 65.82/45.29 mult(x, y) == mult(y, x) 65.82/45.29 plus(x, y) == plus(y, x) 65.82/45.29 union(x, y) == union(y, x) 65.82/45.29 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.29 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.29 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.29 65.82/45.29 The set E# consists of the following equations: 65.82/45.29 65.82/45.29 MULT(x, y) == MULT(y, x) 65.82/45.29 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.29 65.82/45.29 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (35) EDPPoloProof (EQUIVALENT) 65.82/45.29 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. 65.82/45.29 65.82/45.29 65.82/45.29 MULT(mult(1(X), Y), ext) -> MULT(U191(isBin(X), X, Y), ext) 65.82/45.29 U192^1(tt, X, Y) -> U193^1(isBin(Y), X, Y) 65.82/45.29 The remaining Dependency Pairs were at least non-strictly oriented. 65.82/45.29 65.82/45.29 65.82/45.29 U184^1(tt, X, Y) -> MULT(X, Y) 65.82/45.29 MULT(mult(0(X), Y), ext) -> MULT(U181(isBin(X), X, Y), ext) 65.82/45.29 U193^1(tt, X, Y) -> U194^1(isBinKind(Y), X, Y) 65.82/45.29 MULT(mult(1(X), Y), ext) -> U191^1(isBin(X), X, Y) 65.82/45.29 U194^1(tt, X, Y) -> MULT(X, Y) 65.82/45.29 MULT(1(X), Y) -> U191^1(isBin(X), X, Y) 65.82/45.29 U191^1(tt, X, Y) -> U192^1(isBinKind(X), X, Y) 65.82/45.29 MULT(mult(z, X), ext) -> MULT(U171(isBin(X), X), ext) 65.82/45.29 MULT(mult(0(X), Y), ext) -> U181^1(isBin(X), X, Y) 65.82/45.29 U182^1(tt, X, Y) -> U183^1(isBin(Y), X, Y) 65.82/45.29 MULT(0(X), Y) -> U181^1(isBin(X), X, Y) 65.82/45.29 U183^1(tt, X, Y) -> U184^1(isBinKind(Y), X, Y) 65.82/45.29 U181^1(tt, X, Y) -> U182^1(isBinKind(X), X, Y) 65.82/45.29 With the implicit AFS we had to orient the following set of usable rules of R non-strictly. 65.82/45.29 65.82/45.29 65.82/45.29 U172(tt) -> z 65.82/45.29 U42(tt) -> tt 65.82/45.29 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.29 U111(tt) -> tt 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U142(tt) -> tt 65.82/45.29 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.29 U31(tt) -> tt 65.82/45.29 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U53(tt) -> tt 65.82/45.29 U26(tt) -> tt 65.82/45.29 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.29 U76(tt) -> tt 65.82/45.29 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.29 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.29 isBagKind(empty) -> tt 65.82/45.29 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.29 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.29 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.29 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.29 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.29 mult(z, X) -> U171(isBin(X), X) 65.82/45.29 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.29 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.29 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.29 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.29 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.29 isBinKind(z) -> tt 65.82/45.29 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.29 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.29 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.29 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.29 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.29 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.29 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.29 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.29 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.29 U132(tt) -> tt 65.82/45.29 U151(tt) -> tt 65.82/45.29 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.29 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.29 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.29 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.29 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.29 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.29 isBag(empty) -> tt 65.82/45.29 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.29 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.29 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.29 isBin(z) -> tt 65.82/45.29 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.29 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.29 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.29 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.29 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.29 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.29 U13(tt) -> tt 65.82/45.29 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.29 U86(tt) -> tt 65.82/45.29 U161(tt) -> tt 65.82/45.29 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.29 0(z) -> z 65.82/45.29 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.29 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.29 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.29 U93(tt) -> tt 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.29 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.29 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.29 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.29 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.29 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.29 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.29 plus(z, X) -> U201(isBin(X), X) 65.82/45.29 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.29 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.29 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.29 U103(tt) -> tt 65.82/45.29 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.29 U121(tt) -> tt 65.82/45.29 U63(tt) -> tt 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.29 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.29 We had to orient the following equations of E# equivalently. 65.82/45.29 65.82/45.29 65.82/45.29 MULT(x, y) == MULT(y, x) 65.82/45.29 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.29 With the implicit AFS we had to orient the following usable equations of E equivalently. 65.82/45.29 65.82/45.29 65.82/45.29 mult(x, y) == mult(y, x) 65.82/45.29 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.29 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.29 plus(x, y) == plus(y, x) 65.82/45.29 Used ordering: POLO with Polynomial interpretation [POLO]: 65.82/45.29 65.82/45.29 POL(0(x_1)) = x_1 65.82/45.29 POL(1(x_1)) = 1 + x_1 65.82/45.29 POL(MULT(x_1, x_2)) = 1 + x_1 + x_1*x_2 + x_2 65.82/45.29 POL(U101(x_1, x_2)) = 1 65.82/45.29 POL(U102(x_1, x_2)) = 1 65.82/45.29 POL(U103(x_1)) = 1 65.82/45.29 POL(U11(x_1, x_2)) = 1 65.82/45.29 POL(U111(x_1)) = 1 65.82/45.29 POL(U12(x_1, x_2)) = 1 65.82/45.29 POL(U121(x_1)) = x_1^2 65.82/45.29 POL(U13(x_1)) = 1 65.82/45.29 POL(U131(x_1, x_2)) = x_1 65.82/45.29 POL(U132(x_1)) = x_1^2 65.82/45.29 POL(U141(x_1, x_2)) = x_1 65.82/45.29 POL(U142(x_1)) = x_1^2 65.82/45.29 POL(U151(x_1)) = 1 65.82/45.29 POL(U161(x_1)) = 1 65.82/45.29 POL(U171(x_1, x_2)) = 0 65.82/45.29 POL(U172(x_1)) = 0 65.82/45.29 POL(U181(x_1, x_2, x_3)) = x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U181^1(x_1, x_2, x_3)) = 1 + x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U182(x_1, x_2, x_3)) = x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U182^1(x_1, x_2, x_3)) = 1 + x_1*x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U183(x_1, x_2, x_3)) = x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U183^1(x_1, x_2, x_3)) = 1 + x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U184(x_1, x_2, x_3)) = x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U184^1(x_1, x_2, x_3)) = 1 + x_1*x_2 + x_1*x_3 + x_2*x_3 65.82/45.29 POL(U191(x_1, x_2, x_3)) = x_1*x_3 + x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U191^1(x_1, x_2, x_3)) = 1 + x_1 + x_1*x_3 + x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U192(x_1, x_2, x_3)) = x_1*x_3 + x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U192^1(x_1, x_2, x_3)) = 1 + x_1 + x_1*x_2*x_3 + x_2 + x_3 65.82/45.29 POL(U193(x_1, x_2, x_3)) = x_1*x_3 + x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U193^1(x_1, x_2, x_3)) = 1 + x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U194(x_1, x_2, x_3)) = x_1*x_3 + x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U194^1(x_1, x_2, x_3)) = 1 + x_1*x_3 + x_2 + x_2*x_3 65.82/45.29 POL(U201(x_1, x_2)) = x_2 65.82/45.29 POL(U202(x_1, x_2)) = x_2 65.82/45.29 POL(U21(x_1, x_2, x_3)) = x_2*x_3 65.82/45.29 POL(U211(x_1, x_2, x_3)) = x_1*x_2 + x_3 65.82/45.29 POL(U212(x_1, x_2, x_3)) = x_1*x_2 + x_3 65.82/45.29 POL(U213(x_1, x_2, x_3)) = x_2 + x_3 65.82/45.29 POL(U214(x_1, x_2, x_3)) = x_2 + x_3 65.82/45.29 POL(U22(x_1, x_2, x_3)) = x_2*x_3 65.82/45.29 POL(U221(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.29 POL(U222(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.29 POL(U223(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.29 POL(U224(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.29 POL(U23(x_1, x_2, x_3)) = x_2*x_3 65.82/45.29 POL(U231(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.29 POL(U232(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.29 POL(U233(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.29 POL(U234(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.29 POL(U24(x_1, x_2, x_3)) = x_2*x_3 65.82/45.29 POL(U25(x_1, x_2)) = x_1*x_2 65.82/45.29 POL(U26(x_1)) = x_1 65.82/45.29 POL(U31(x_1)) = 1 + x_1 65.82/45.29 POL(U41(x_1, x_2)) = x_1 65.82/45.29 POL(U42(x_1)) = 1 65.82/45.29 POL(U51(x_1, x_2)) = x_1 65.82/45.29 POL(U52(x_1, x_2)) = 1 65.82/45.29 POL(U53(x_1)) = x_1^2 65.82/45.29 POL(U61(x_1, x_2)) = 1 65.82/45.29 POL(U62(x_1, x_2)) = 1 65.82/45.29 POL(U63(x_1)) = 1 65.82/45.29 POL(U71(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U72(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U73(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U74(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U75(x_1, x_2)) = x_1 65.82/45.29 POL(U76(x_1)) = x_1 65.82/45.29 POL(U81(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U82(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U83(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U84(x_1, x_2, x_3)) = x_1 65.82/45.29 POL(U85(x_1, x_2)) = x_1 65.82/45.29 POL(U86(x_1)) = 1 65.82/45.29 POL(U91(x_1, x_2)) = 1 65.82/45.29 POL(U92(x_1, x_2)) = 1 65.82/45.29 POL(U93(x_1)) = 1 65.82/45.29 POL(empty) = 1 65.82/45.29 POL(isBag(x_1)) = x_1 65.82/45.29 POL(isBagKind(x_1)) = 1 + x_1^2 65.82/45.29 POL(isBin(x_1)) = 1 65.82/45.29 POL(isBinKind(x_1)) = 1 65.82/45.29 POL(mult(x_1, x_2)) = x_1 + x_1*x_2 + x_2 65.82/45.29 POL(plus(x_1, x_2)) = x_1 + x_2 65.82/45.29 POL(prod(x_1)) = 0 65.82/45.29 POL(singl(x_1)) = 1 + x_1 65.82/45.29 POL(sum(x_1)) = 0 65.82/45.29 POL(tt) = 1 65.82/45.29 POL(union(x_1, x_2)) = x_1 + x_1*x_2 65.82/45.29 POL(z) = 0 65.82/45.29 65.82/45.29 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (36) 65.82/45.29 Obligation: 65.82/45.29 The TRS P consists of the following rules: 65.82/45.29 65.82/45.29 U184^1(tt, X, Y) -> MULT(X, Y) 65.82/45.29 MULT(mult(0(X), Y), ext) -> MULT(U181(isBin(X), X, Y), ext) 65.82/45.29 U193^1(tt, X, Y) -> U194^1(isBinKind(Y), X, Y) 65.82/45.29 MULT(mult(1(X), Y), ext) -> U191^1(isBin(X), X, Y) 65.82/45.29 U194^1(tt, X, Y) -> MULT(X, Y) 65.82/45.29 MULT(1(X), Y) -> U191^1(isBin(X), X, Y) 65.82/45.29 U191^1(tt, X, Y) -> U192^1(isBinKind(X), X, Y) 65.82/45.29 MULT(mult(z, X), ext) -> MULT(U171(isBin(X), X), ext) 65.82/45.29 MULT(mult(0(X), Y), ext) -> U181^1(isBin(X), X, Y) 65.82/45.29 U182^1(tt, X, Y) -> U183^1(isBin(Y), X, Y) 65.82/45.29 MULT(0(X), Y) -> U181^1(isBin(X), X, Y) 65.82/45.29 U183^1(tt, X, Y) -> U184^1(isBinKind(Y), X, Y) 65.82/45.29 U181^1(tt, X, Y) -> U182^1(isBinKind(X), X, Y) 65.82/45.29 65.82/45.29 The TRS R consists of the following rules: 65.82/45.29 65.82/45.29 union(X, empty) -> X 65.82/45.29 union(empty, X) -> X 65.82/45.29 0(z) -> z 65.82/45.29 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.29 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.29 U103(tt) -> tt 65.82/45.29 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.29 U111(tt) -> tt 65.82/45.29 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.29 U121(tt) -> tt 65.82/45.29 U13(tt) -> tt 65.82/45.29 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.29 U132(tt) -> tt 65.82/45.29 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.29 U142(tt) -> tt 65.82/45.29 U151(tt) -> tt 65.82/45.29 U161(tt) -> tt 65.82/45.29 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.29 U172(tt) -> z 65.82/45.29 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.29 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.29 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.29 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.29 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.29 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.29 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.29 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.29 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.29 U242(tt, X) -> X 65.82/45.29 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.29 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.29 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.29 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.29 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.29 U26(tt) -> tt 65.82/45.29 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.29 U262(tt, X) -> X 65.82/45.29 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.29 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.29 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.29 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.29 U31(tt) -> tt 65.82/45.29 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.29 U42(tt) -> tt 65.82/45.29 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.29 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.29 U53(tt) -> tt 65.82/45.29 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.29 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.29 U63(tt) -> tt 65.82/45.29 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.29 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.29 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.29 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.29 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.29 U76(tt) -> tt 65.82/45.29 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.29 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.29 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.29 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.29 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.29 U86(tt) -> tt 65.82/45.29 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.29 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.29 U93(tt) -> tt 65.82/45.29 isBag(empty) -> tt 65.82/45.29 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.29 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.29 isBagKind(empty) -> tt 65.82/45.29 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.29 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.29 isBin(z) -> tt 65.82/45.29 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.29 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.29 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.29 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.29 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.29 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.29 isBinKind(z) -> tt 65.82/45.29 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.29 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.29 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.29 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.29 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.29 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.29 mult(z, X) -> U171(isBin(X), X) 65.82/45.29 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.29 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.29 plus(z, X) -> U201(isBin(X), X) 65.82/45.29 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.29 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.29 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.29 prod(empty) -> 1(z) 65.82/45.29 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.29 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.29 sum(empty) -> 0(z) 65.82/45.29 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.29 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.29 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.29 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.29 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.29 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.29 65.82/45.29 The set E consists of the following equations: 65.82/45.29 65.82/45.29 mult(x, y) == mult(y, x) 65.82/45.29 plus(x, y) == plus(y, x) 65.82/45.29 union(x, y) == union(y, x) 65.82/45.29 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.29 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.29 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.29 65.82/45.29 The set E# consists of the following equations: 65.82/45.29 65.82/45.29 MULT(x, y) == MULT(y, x) 65.82/45.29 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.29 65.82/45.29 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (37) EDependencyGraphProof (EQUIVALENT) 65.82/45.29 The approximation of the Equational Dependency Graph [DA_STEIN] contains 1 SCC with 5 less nodes. 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (38) 65.82/45.29 Obligation: 65.82/45.29 The TRS P consists of the following rules: 65.82/45.29 65.82/45.29 U184^1(tt, X, Y) -> MULT(X, Y) 65.82/45.29 MULT(mult(0(X), Y), ext) -> MULT(U181(isBin(X), X, Y), ext) 65.82/45.29 MULT(mult(z, X), ext) -> MULT(U171(isBin(X), X), ext) 65.82/45.29 MULT(mult(0(X), Y), ext) -> U181^1(isBin(X), X, Y) 65.82/45.29 U182^1(tt, X, Y) -> U183^1(isBin(Y), X, Y) 65.82/45.29 MULT(0(X), Y) -> U181^1(isBin(X), X, Y) 65.82/45.29 U183^1(tt, X, Y) -> U184^1(isBinKind(Y), X, Y) 65.82/45.29 U181^1(tt, X, Y) -> U182^1(isBinKind(X), X, Y) 65.82/45.29 65.82/45.29 The TRS R consists of the following rules: 65.82/45.29 65.82/45.29 union(X, empty) -> X 65.82/45.29 union(empty, X) -> X 65.82/45.29 0(z) -> z 65.82/45.29 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.29 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.29 U103(tt) -> tt 65.82/45.29 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.29 U111(tt) -> tt 65.82/45.29 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.29 U121(tt) -> tt 65.82/45.29 U13(tt) -> tt 65.82/45.29 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.29 U132(tt) -> tt 65.82/45.29 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.29 U142(tt) -> tt 65.82/45.29 U151(tt) -> tt 65.82/45.29 U161(tt) -> tt 65.82/45.29 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.29 U172(tt) -> z 65.82/45.29 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.29 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.29 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.29 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.29 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.29 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.29 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.29 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.29 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.29 U242(tt, X) -> X 65.82/45.29 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.29 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.29 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.29 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.29 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.29 U26(tt) -> tt 65.82/45.29 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.29 U262(tt, X) -> X 65.82/45.29 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.29 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.29 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.29 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.29 U31(tt) -> tt 65.82/45.29 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.29 U42(tt) -> tt 65.82/45.29 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.29 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.29 U53(tt) -> tt 65.82/45.29 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.29 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.29 U63(tt) -> tt 65.82/45.29 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.29 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.29 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.29 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.29 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.29 U76(tt) -> tt 65.82/45.29 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.29 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.29 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.29 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.29 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.29 U86(tt) -> tt 65.82/45.29 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.29 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.29 U93(tt) -> tt 65.82/45.29 isBag(empty) -> tt 65.82/45.29 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.29 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.29 isBagKind(empty) -> tt 65.82/45.29 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.29 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.29 isBin(z) -> tt 65.82/45.29 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.29 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.29 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.29 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.29 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.29 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.29 isBinKind(z) -> tt 65.82/45.29 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.29 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.29 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.29 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.29 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.29 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.29 mult(z, X) -> U171(isBin(X), X) 65.82/45.29 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.29 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.29 plus(z, X) -> U201(isBin(X), X) 65.82/45.29 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.29 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.29 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.29 prod(empty) -> 1(z) 65.82/45.29 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.29 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.29 sum(empty) -> 0(z) 65.82/45.29 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.29 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.29 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.29 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.29 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.29 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.29 65.82/45.29 The set E consists of the following equations: 65.82/45.29 65.82/45.29 mult(x, y) == mult(y, x) 65.82/45.29 plus(x, y) == plus(y, x) 65.82/45.29 union(x, y) == union(y, x) 65.82/45.29 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.29 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.29 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.29 65.82/45.29 The set E# consists of the following equations: 65.82/45.29 65.82/45.29 MULT(x, y) == MULT(y, x) 65.82/45.29 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.29 65.82/45.29 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (39) EDPPoloProof (EQUIVALENT) 65.82/45.29 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. 65.82/45.29 65.82/45.29 65.82/45.29 MULT(mult(0(X), Y), ext) -> U181^1(isBin(X), X, Y) 65.82/45.29 MULT(0(X), Y) -> U181^1(isBin(X), X, Y) 65.82/45.29 The remaining Dependency Pairs were at least non-strictly oriented. 65.82/45.29 65.82/45.29 65.82/45.29 U184^1(tt, X, Y) -> MULT(X, Y) 65.82/45.29 MULT(mult(0(X), Y), ext) -> MULT(U181(isBin(X), X, Y), ext) 65.82/45.29 MULT(mult(z, X), ext) -> MULT(U171(isBin(X), X), ext) 65.82/45.29 U182^1(tt, X, Y) -> U183^1(isBin(Y), X, Y) 65.82/45.29 U183^1(tt, X, Y) -> U184^1(isBinKind(Y), X, Y) 65.82/45.29 U181^1(tt, X, Y) -> U182^1(isBinKind(X), X, Y) 65.82/45.29 With the implicit AFS we had to orient the following set of usable rules of R non-strictly. 65.82/45.29 65.82/45.29 65.82/45.29 U151(tt) -> tt 65.82/45.29 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.29 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.29 isBin(z) -> tt 65.82/45.29 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.29 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.29 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.29 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.29 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.29 U132(tt) -> tt 65.82/45.29 U13(tt) -> tt 65.82/45.29 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.29 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.29 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.29 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.29 U172(tt) -> z 65.82/45.29 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.29 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.29 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.29 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.29 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.29 U103(tt) -> tt 65.82/45.29 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.29 U111(tt) -> tt 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.29 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.29 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.29 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.29 U53(tt) -> tt 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 U93(tt) -> tt 65.82/45.29 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.29 U142(tt) -> tt 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.29 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.29 0(z) -> z 65.82/45.29 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.29 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.29 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.29 U31(tt) -> tt 65.82/45.29 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.29 U26(tt) -> tt 65.82/45.29 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.29 U161(tt) -> tt 65.82/45.29 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.29 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U76(tt) -> tt 65.82/45.29 U86(tt) -> tt 65.82/45.29 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.29 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.29 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.29 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.29 U63(tt) -> tt 65.82/45.29 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.29 isBag(empty) -> tt 65.82/45.29 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.29 mult(z, X) -> U171(isBin(X), X) 65.82/45.29 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.29 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.29 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.29 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.29 isBagKind(empty) -> tt 65.82/45.29 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.29 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.29 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.29 isBinKind(z) -> tt 65.82/45.29 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.29 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.29 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.29 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.29 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.29 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.29 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.29 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.29 plus(z, X) -> U201(isBin(X), X) 65.82/45.29 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.29 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.29 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.29 U121(tt) -> tt 65.82/45.29 U42(tt) -> tt 65.82/45.29 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 We had to orient the following equations of E# equivalently. 65.82/45.29 65.82/45.29 65.82/45.29 MULT(x, y) == MULT(y, x) 65.82/45.29 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.29 With the implicit AFS we had to orient the following usable equations of E equivalently. 65.82/45.29 65.82/45.29 65.82/45.29 mult(x, y) == mult(y, x) 65.82/45.29 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.29 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.29 plus(x, y) == plus(y, x) 65.82/45.29 Used ordering: POLO with Polynomial interpretation [POLO]: 65.82/45.29 65.82/45.29 POL(0(x_1)) = 1 + x_1 65.82/45.29 POL(1(x_1)) = 1 + x_1 65.82/45.29 POL(MULT(x_1, x_2)) = x_1 + x_1*x_2 + x_2 65.82/45.29 POL(U101(x_1, x_2)) = 1 65.82/45.29 POL(U102(x_1, x_2)) = 1 65.82/45.29 POL(U103(x_1)) = 1 65.82/45.29 POL(U11(x_1, x_2)) = x_1 65.82/45.29 POL(U111(x_1)) = 1 65.82/45.29 POL(U12(x_1, x_2)) = x_1 65.82/45.29 POL(U121(x_1)) = 1 65.82/45.29 POL(U13(x_1)) = x_1^2 65.82/45.29 POL(U131(x_1, x_2)) = 1 65.82/45.29 POL(U132(x_1)) = x_1^2 65.82/45.29 POL(U141(x_1, x_2)) = 1 65.82/45.29 POL(U142(x_1)) = x_1 65.82/45.29 POL(U151(x_1)) = 1 65.82/45.29 POL(U161(x_1)) = 1 65.82/45.29 POL(U171(x_1, x_2)) = 0 65.82/45.29 POL(U172(x_1)) = 0 65.82/45.29 POL(U181(x_1, x_2, x_3)) = x_1 + x_1*x_2*x_3 + x_2 + x_3 65.82/45.29 POL(U181^1(x_1, x_2, x_3)) = x_1*x_2 + x_1*x_2*x_3 + x_3 65.82/45.29 POL(U182(x_1, x_2, x_3)) = 1 + x_1*x_2*x_3 + x_2 + x_3 65.82/45.29 POL(U182^1(x_1, x_2, x_3)) = x_1*x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U183(x_1, x_2, x_3)) = 1 + x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U183^1(x_1, x_2, x_3)) = x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U184(x_1, x_2, x_3)) = 1 + x_1*x_2 + x_1*x_2*x_3 + x_3 65.82/45.29 POL(U184^1(x_1, x_2, x_3)) = x_1*x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U191(x_1, x_2, x_3)) = 1 + x_1*x_3 + x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U192(x_1, x_2, x_3)) = 1 + x_1*x_3 + x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U193(x_1, x_2, x_3)) = 1 + x_1*x_2 + x_1*x_3 + x_2*x_3 + x_3 65.82/45.29 POL(U194(x_1, x_2, x_3)) = 1 + x_1*x_3 + x_2 + x_2*x_3 + x_3 65.82/45.29 POL(U201(x_1, x_2)) = x_1*x_2 65.82/45.29 POL(U202(x_1, x_2)) = x_2 65.82/45.29 POL(U21(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U211(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.29 POL(U212(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.29 POL(U213(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.29 POL(U214(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.29 POL(U22(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U221(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.29 POL(U222(x_1, x_2, x_3)) = 1 + x_1*x_3 + x_2 65.82/45.29 POL(U223(x_1, x_2, x_3)) = 1 + x_2 + x_3 65.82/45.29 POL(U224(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.29 POL(U23(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U231(x_1, x_2, x_3)) = 1 + x_1 + x_1*x_2 + x_1*x_3 65.82/45.29 POL(U232(x_1, x_2, x_3)) = 1 + x_1 + x_1*x_2 + x_3 65.82/45.29 POL(U233(x_1, x_2, x_3)) = 1 + x_1 + x_1*x_2 + x_1*x_3 65.82/45.29 POL(U234(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 65.82/45.29 POL(U24(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U25(x_1, x_2)) = 1 65.82/45.29 POL(U26(x_1)) = 1 65.82/45.29 POL(U31(x_1)) = x_1^2 65.82/45.29 POL(U41(x_1, x_2)) = 1 + x_1 65.82/45.29 POL(U42(x_1)) = 1 65.82/45.29 POL(U51(x_1, x_2)) = 1 65.82/45.29 POL(U52(x_1, x_2)) = x_1 65.82/45.29 POL(U53(x_1)) = x_1^2 65.82/45.29 POL(U61(x_1, x_2)) = 1 65.82/45.29 POL(U62(x_1, x_2)) = 1 65.82/45.29 POL(U63(x_1)) = 1 65.82/45.29 POL(U71(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U72(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U73(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U74(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U75(x_1, x_2)) = 1 65.82/45.29 POL(U76(x_1)) = 1 65.82/45.29 POL(U81(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U82(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U83(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U84(x_1, x_2, x_3)) = 1 65.82/45.29 POL(U85(x_1, x_2)) = 1 65.82/45.29 POL(U86(x_1)) = x_1^2 65.82/45.29 POL(U91(x_1, x_2)) = 1 65.82/45.29 POL(U92(x_1, x_2)) = 1 65.82/45.29 POL(U93(x_1)) = 1 65.82/45.29 POL(empty) = 1 65.82/45.29 POL(isBag(x_1)) = x_1^2 65.82/45.29 POL(isBagKind(x_1)) = x_1^2 65.82/45.29 POL(isBin(x_1)) = 1 65.82/45.29 POL(isBinKind(x_1)) = 1 65.82/45.29 POL(mult(x_1, x_2)) = x_1 + x_1*x_2 + x_2 65.82/45.29 POL(plus(x_1, x_2)) = x_1 + x_2 65.82/45.29 POL(prod(x_1)) = 0 65.82/45.29 POL(singl(x_1)) = 1 65.82/45.29 POL(sum(x_1)) = 0 65.82/45.29 POL(tt) = 1 65.82/45.29 POL(union(x_1, x_2)) = 1 + x_1 65.82/45.29 POL(z) = 0 65.82/45.29 65.82/45.29 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (40) 65.82/45.29 Obligation: 65.82/45.29 The TRS P consists of the following rules: 65.82/45.29 65.82/45.29 U184^1(tt, X, Y) -> MULT(X, Y) 65.82/45.29 MULT(mult(0(X), Y), ext) -> MULT(U181(isBin(X), X, Y), ext) 65.82/45.29 MULT(mult(z, X), ext) -> MULT(U171(isBin(X), X), ext) 65.82/45.29 U182^1(tt, X, Y) -> U183^1(isBin(Y), X, Y) 65.82/45.29 U183^1(tt, X, Y) -> U184^1(isBinKind(Y), X, Y) 65.82/45.29 U181^1(tt, X, Y) -> U182^1(isBinKind(X), X, Y) 65.82/45.29 65.82/45.29 The TRS R consists of the following rules: 65.82/45.29 65.82/45.29 union(X, empty) -> X 65.82/45.29 union(empty, X) -> X 65.82/45.29 0(z) -> z 65.82/45.29 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.29 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.29 U103(tt) -> tt 65.82/45.29 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.29 U111(tt) -> tt 65.82/45.29 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.29 U121(tt) -> tt 65.82/45.29 U13(tt) -> tt 65.82/45.29 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.29 U132(tt) -> tt 65.82/45.29 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.29 U142(tt) -> tt 65.82/45.29 U151(tt) -> tt 65.82/45.29 U161(tt) -> tt 65.82/45.29 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.29 U172(tt) -> z 65.82/45.29 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.29 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.29 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.29 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.29 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.29 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.29 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.29 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.29 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.29 U242(tt, X) -> X 65.82/45.29 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.29 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.29 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.29 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.29 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.29 U26(tt) -> tt 65.82/45.29 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.29 U262(tt, X) -> X 65.82/45.29 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.29 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.29 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.29 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.29 U31(tt) -> tt 65.82/45.29 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.29 U42(tt) -> tt 65.82/45.29 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.29 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.29 U53(tt) -> tt 65.82/45.29 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.29 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.29 U63(tt) -> tt 65.82/45.29 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.29 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.29 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.29 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.29 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.29 U76(tt) -> tt 65.82/45.29 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.29 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.29 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.29 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.29 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.29 U86(tt) -> tt 65.82/45.29 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.29 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.29 U93(tt) -> tt 65.82/45.29 isBag(empty) -> tt 65.82/45.29 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.29 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.29 isBagKind(empty) -> tt 65.82/45.29 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.29 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.29 isBin(z) -> tt 65.82/45.29 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.29 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.29 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.29 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.29 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.29 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.29 isBinKind(z) -> tt 65.82/45.29 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.29 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.29 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.29 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.29 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.29 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.29 mult(z, X) -> U171(isBin(X), X) 65.82/45.29 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.29 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.29 plus(z, X) -> U201(isBin(X), X) 65.82/45.29 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.29 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.29 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.29 prod(empty) -> 1(z) 65.82/45.29 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.29 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.29 sum(empty) -> 0(z) 65.82/45.29 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.29 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.29 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.29 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.29 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.29 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.29 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.29 65.82/45.29 The set E consists of the following equations: 65.82/45.29 65.82/45.29 mult(x, y) == mult(y, x) 65.82/45.29 plus(x, y) == plus(y, x) 65.82/45.29 union(x, y) == union(y, x) 65.82/45.29 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.29 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.29 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.29 65.82/45.29 The set E# consists of the following equations: 65.82/45.29 65.82/45.29 MULT(x, y) == MULT(y, x) 65.82/45.29 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.29 65.82/45.29 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (41) EDependencyGraphProof (EQUIVALENT) 65.82/45.29 The approximation of the Equational Dependency Graph [DA_STEIN] contains 1 SCC with 4 less nodes. 65.82/45.29 ---------------------------------------- 65.82/45.29 65.82/45.29 (42) 65.82/45.29 Obligation: 65.82/45.29 The TRS P consists of the following rules: 65.82/45.29 65.82/45.29 MULT(mult(z, X), ext) -> MULT(U171(isBin(X), X), ext) 65.82/45.29 MULT(mult(0(X), Y), ext) -> MULT(U181(isBin(X), X, Y), ext) 65.82/45.29 65.82/45.29 The TRS R consists of the following rules: 65.82/45.29 65.82/45.29 union(X, empty) -> X 65.82/45.29 union(empty, X) -> X 65.82/45.29 0(z) -> z 65.82/45.29 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.29 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.29 U103(tt) -> tt 65.82/45.29 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.29 U111(tt) -> tt 65.82/45.29 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.29 U121(tt) -> tt 65.82/45.29 U13(tt) -> tt 65.82/45.29 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.29 U132(tt) -> tt 65.82/45.29 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.29 U142(tt) -> tt 65.82/45.29 U151(tt) -> tt 65.82/45.29 U161(tt) -> tt 65.82/45.29 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.29 U172(tt) -> z 65.82/45.29 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.29 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.29 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.29 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.29 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.29 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.29 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.29 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.29 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.29 U202(tt, X) -> X 65.82/45.29 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.29 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.29 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.29 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.29 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.29 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.29 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.29 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.29 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.29 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.29 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.29 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.29 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.29 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.29 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.29 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.29 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.29 U242(tt, X) -> X 65.82/45.29 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.29 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.29 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.29 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.29 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.29 U26(tt) -> tt 65.82/45.29 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.29 U262(tt, X) -> X 65.82/45.29 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.29 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.29 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.29 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.29 U31(tt) -> tt 65.82/45.29 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.29 U42(tt) -> tt 65.82/45.29 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.29 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.29 U53(tt) -> tt 65.82/45.29 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.29 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.29 U63(tt) -> tt 65.82/45.29 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.29 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.29 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.29 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.29 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.29 U76(tt) -> tt 65.82/45.29 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.29 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.29 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.29 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.29 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.29 U86(tt) -> tt 65.82/45.29 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.29 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.29 U93(tt) -> tt 65.82/45.29 isBag(empty) -> tt 65.82/45.29 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.29 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.29 isBagKind(empty) -> tt 65.82/45.29 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.29 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.29 isBin(z) -> tt 65.82/45.29 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.29 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.29 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.29 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.29 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.29 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.29 isBinKind(z) -> tt 65.82/45.29 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.29 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.29 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.30 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.30 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.30 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.30 mult(z, X) -> U171(isBin(X), X) 65.82/45.30 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.30 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.30 plus(z, X) -> U201(isBin(X), X) 65.82/45.30 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.30 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.30 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.30 prod(empty) -> 1(z) 65.82/45.30 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.30 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.30 sum(empty) -> 0(z) 65.82/45.30 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.30 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.30 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.30 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.30 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.30 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.30 65.82/45.30 The set E consists of the following equations: 65.82/45.30 65.82/45.30 mult(x, y) == mult(y, x) 65.82/45.30 plus(x, y) == plus(y, x) 65.82/45.30 union(x, y) == union(y, x) 65.82/45.30 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.30 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.30 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.30 65.82/45.30 The set E# consists of the following equations: 65.82/45.30 65.82/45.30 MULT(x, y) == MULT(y, x) 65.82/45.30 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.30 65.82/45.30 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (43) EDPPoloProof (EQUIVALENT) 65.82/45.30 We use the reduction pair processor [DA_STEIN] with a polynomial ordering [POLO]. All Dependency Pairs of this DP problem can be strictly oriented. 65.82/45.30 65.82/45.30 65.82/45.30 MULT(mult(z, X), ext) -> MULT(U171(isBin(X), X), ext) 65.82/45.30 MULT(mult(0(X), Y), ext) -> MULT(U181(isBin(X), X, Y), ext) 65.82/45.30 With the implicit AFS we had to orient the following set of usable rules of R non-strictly. 65.82/45.30 65.82/45.30 65.82/45.30 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.30 U172(tt) -> z 65.82/45.30 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.30 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.30 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.30 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.30 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.30 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.30 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.30 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.30 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.30 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.30 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.30 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.30 plus(z, X) -> U201(isBin(X), X) 65.82/45.30 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.30 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.30 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.30 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.30 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.30 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.30 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.30 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.30 mult(z, X) -> U171(isBin(X), X) 65.82/45.30 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.30 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.30 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.30 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.30 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.30 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.30 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.30 U202(tt, X) -> X 65.82/45.30 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.30 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.30 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.30 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.30 0(z) -> z 65.82/45.30 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.30 We had to orient the following equations of E# equivalently. 65.82/45.30 65.82/45.30 65.82/45.30 MULT(x, y) == MULT(y, x) 65.82/45.30 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.30 With the implicit AFS we had to orient the following usable equations of E equivalently. 65.82/45.30 65.82/45.30 65.82/45.30 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.30 plus(x, y) == plus(y, x) 65.82/45.30 mult(x, y) == mult(y, x) 65.82/45.30 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.30 Used ordering: POLO with Polynomial interpretation [POLO]: 65.82/45.30 65.82/45.30 POL(0(x_1)) = 0 65.82/45.30 POL(1(x_1)) = 0 65.82/45.30 POL(MULT(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U101(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U102(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U103(x_1)) = 3 65.82/45.30 POL(U11(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U111(x_1)) = 3 65.82/45.30 POL(U12(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U121(x_1)) = 3 65.82/45.30 POL(U13(x_1)) = 3 65.82/45.30 POL(U131(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U132(x_1)) = 3 65.82/45.30 POL(U141(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U142(x_1)) = 3 65.82/45.30 POL(U151(x_1)) = 3 65.82/45.30 POL(U161(x_1)) = 3 65.82/45.30 POL(U171(x_1, x_2)) = 2 65.82/45.30 POL(U172(x_1)) = 0 65.82/45.30 POL(U181(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U182(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U183(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U184(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U191(x_1, x_2, x_3)) = x_3 65.82/45.30 POL(U192(x_1, x_2, x_3)) = x_3 65.82/45.30 POL(U193(x_1, x_2, x_3)) = x_3 65.82/45.30 POL(U194(x_1, x_2, x_3)) = x_3 65.82/45.30 POL(U201(x_1, x_2)) = x_2 65.82/45.30 POL(U202(x_1, x_2)) = x_2 65.82/45.30 POL(U21(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.30 POL(U211(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U212(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U213(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U214(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U22(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.30 POL(U221(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U222(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U223(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U224(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U23(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.30 POL(U231(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U232(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U233(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U234(x_1, x_2, x_3)) = 0 65.82/45.30 POL(U24(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.30 POL(U25(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U26(x_1)) = 3 65.82/45.30 POL(U31(x_1)) = 3 65.82/45.30 POL(U41(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U42(x_1)) = 3 65.82/45.30 POL(U51(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U52(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U53(x_1)) = 3 65.82/45.30 POL(U61(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U62(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U63(x_1)) = 3 65.82/45.30 POL(U71(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.30 POL(U72(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.30 POL(U73(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.30 POL(U74(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.30 POL(U75(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U76(x_1)) = 3 65.82/45.30 POL(U81(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.30 POL(U82(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.30 POL(U83(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.30 POL(U84(x_1, x_2, x_3)) = 3 + 3*x_2 + 3*x_3 65.82/45.30 POL(U85(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U86(x_1)) = 3 65.82/45.30 POL(U91(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U92(x_1, x_2)) = 3 + 3*x_2 65.82/45.30 POL(U93(x_1)) = 3 65.82/45.30 POL(empty) = 0 65.82/45.30 POL(isBag(x_1)) = 0 65.82/45.30 POL(isBagKind(x_1)) = 0 65.82/45.30 POL(isBin(x_1)) = 0 65.82/45.30 POL(isBinKind(x_1)) = 0 65.82/45.30 POL(mult(x_1, x_2)) = 3 + x_1 + x_2 65.82/45.30 POL(plus(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(prod(x_1)) = 0 65.82/45.30 POL(singl(x_1)) = 0 65.82/45.30 POL(sum(x_1)) = 0 65.82/45.30 POL(tt) = 0 65.82/45.30 POL(union(x_1, x_2)) = 0 65.82/45.30 POL(z) = 0 65.82/45.30 65.82/45.30 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (44) 65.82/45.30 Obligation: 65.82/45.30 P is empty. 65.82/45.30 The TRS R consists of the following rules: 65.82/45.30 65.82/45.30 union(X, empty) -> X 65.82/45.30 union(empty, X) -> X 65.82/45.30 0(z) -> z 65.82/45.30 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.30 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.30 U103(tt) -> tt 65.82/45.30 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.30 U111(tt) -> tt 65.82/45.30 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.30 U121(tt) -> tt 65.82/45.30 U13(tt) -> tt 65.82/45.30 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.30 U132(tt) -> tt 65.82/45.30 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.30 U142(tt) -> tt 65.82/45.30 U151(tt) -> tt 65.82/45.30 U161(tt) -> tt 65.82/45.30 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.30 U172(tt) -> z 65.82/45.30 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.30 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.30 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.30 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.30 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.30 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.30 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.30 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.30 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.30 U202(tt, X) -> X 65.82/45.30 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.30 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.30 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.30 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.30 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.30 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.30 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.30 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.30 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.30 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.30 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.30 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.30 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.30 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.30 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.30 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.30 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.30 U242(tt, X) -> X 65.82/45.30 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.30 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.30 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.30 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.30 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.30 U26(tt) -> tt 65.82/45.30 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.30 U262(tt, X) -> X 65.82/45.30 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.30 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.30 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.30 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.30 U31(tt) -> tt 65.82/45.30 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.30 U42(tt) -> tt 65.82/45.30 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.30 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.30 U53(tt) -> tt 65.82/45.30 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.30 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.30 U63(tt) -> tt 65.82/45.30 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.30 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.30 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.30 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.30 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.30 U76(tt) -> tt 65.82/45.30 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.30 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.30 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.30 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.30 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.30 U86(tt) -> tt 65.82/45.30 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.30 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.30 U93(tt) -> tt 65.82/45.30 isBag(empty) -> tt 65.82/45.30 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.30 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.30 isBagKind(empty) -> tt 65.82/45.30 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.30 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.30 isBin(z) -> tt 65.82/45.30 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.30 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.30 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.30 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.30 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.30 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.30 isBinKind(z) -> tt 65.82/45.30 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.30 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.30 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.30 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.30 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.30 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.30 mult(z, X) -> U171(isBin(X), X) 65.82/45.30 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.30 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.30 plus(z, X) -> U201(isBin(X), X) 65.82/45.30 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.30 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.30 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.30 prod(empty) -> 1(z) 65.82/45.30 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.30 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.30 sum(empty) -> 0(z) 65.82/45.30 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.30 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.30 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.30 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.30 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.30 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.30 65.82/45.30 The set E consists of the following equations: 65.82/45.30 65.82/45.30 mult(x, y) == mult(y, x) 65.82/45.30 plus(x, y) == plus(y, x) 65.82/45.30 union(x, y) == union(y, x) 65.82/45.30 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.30 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.30 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.30 65.82/45.30 The set E# consists of the following equations: 65.82/45.30 65.82/45.30 MULT(x, y) == MULT(y, x) 65.82/45.30 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.30 65.82/45.30 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (45) PisEmptyProof (EQUIVALENT) 65.82/45.30 The TRS P is empty. Hence, there is no (P,E#,R,E) chain. 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (46) 65.82/45.30 YES 65.82/45.30 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (47) 65.82/45.30 Obligation: 65.82/45.30 The TRS P consists of the following rules: 65.82/45.30 65.82/45.30 U271^1(tt, A, B) -> U272^1(isBagKind(A), A, B) 65.82/45.30 U272^1(tt, A, B) -> U273^1(isBag(B), A, B) 65.82/45.30 U274^1(tt, A, B) -> SUM(A) 65.82/45.30 U274^1(tt, A, B) -> SUM(B) 65.82/45.30 U273^1(tt, A, B) -> U274^1(isBagKind(B), A, B) 65.82/45.30 SUM(union(A, B)) -> U271^1(isBag(A), A, B) 65.82/45.30 65.82/45.30 The TRS R consists of the following rules: 65.82/45.30 65.82/45.30 union(X, empty) -> X 65.82/45.30 union(empty, X) -> X 65.82/45.30 0(z) -> z 65.82/45.30 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.30 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.30 U103(tt) -> tt 65.82/45.30 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.30 U111(tt) -> tt 65.82/45.30 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.30 U121(tt) -> tt 65.82/45.30 U13(tt) -> tt 65.82/45.30 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.30 U132(tt) -> tt 65.82/45.30 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.30 U142(tt) -> tt 65.82/45.30 U151(tt) -> tt 65.82/45.30 U161(tt) -> tt 65.82/45.30 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.30 U172(tt) -> z 65.82/45.30 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.30 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.30 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.30 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.30 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.30 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.30 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.30 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.30 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.30 U202(tt, X) -> X 65.82/45.30 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.30 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.30 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.30 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.30 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.30 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.30 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.30 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.30 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.30 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.30 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.30 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.30 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.30 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.30 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.30 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.30 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.30 U242(tt, X) -> X 65.82/45.30 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.30 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.30 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.30 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.30 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.30 U26(tt) -> tt 65.82/45.30 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.30 U262(tt, X) -> X 65.82/45.30 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.30 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.30 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.30 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.30 U31(tt) -> tt 65.82/45.30 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.30 U42(tt) -> tt 65.82/45.30 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.30 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.30 U53(tt) -> tt 65.82/45.30 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.30 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.30 U63(tt) -> tt 65.82/45.30 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.30 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.30 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.30 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.30 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.30 U76(tt) -> tt 65.82/45.30 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.30 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.30 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.30 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.30 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.30 U86(tt) -> tt 65.82/45.30 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.30 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.30 U93(tt) -> tt 65.82/45.30 isBag(empty) -> tt 65.82/45.30 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.30 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.30 isBagKind(empty) -> tt 65.82/45.30 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.30 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.30 isBin(z) -> tt 65.82/45.30 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.30 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.30 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.30 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.30 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.30 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.30 isBinKind(z) -> tt 65.82/45.30 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.30 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.30 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.30 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.30 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.30 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.30 mult(z, X) -> U171(isBin(X), X) 65.82/45.30 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.30 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.30 plus(z, X) -> U201(isBin(X), X) 65.82/45.30 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.30 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.30 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.30 prod(empty) -> 1(z) 65.82/45.30 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.30 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.30 sum(empty) -> 0(z) 65.82/45.30 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.30 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.30 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.30 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.30 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.30 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.30 65.82/45.30 The set E consists of the following equations: 65.82/45.30 65.82/45.30 mult(x, y) == mult(y, x) 65.82/45.30 plus(x, y) == plus(y, x) 65.82/45.30 union(x, y) == union(y, x) 65.82/45.30 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.30 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.30 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.30 65.82/45.30 The set E# consists of the following equations: 65.82/45.30 65.82/45.30 MULT(x, y) == MULT(y, x) 65.82/45.30 PLUS(x, y) == PLUS(y, x) 65.82/45.30 UNION(x, y) == UNION(y, x) 65.82/45.30 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.30 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.30 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.30 65.82/45.30 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (48) ESharpUsableEquationsProof (EQUIVALENT) 65.82/45.30 We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: 65.82/45.30 MULT(x, y) == MULT(y, x) 65.82/45.30 PLUS(x, y) == PLUS(y, x) 65.82/45.30 UNION(x, y) == UNION(y, x) 65.82/45.30 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.30 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.30 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.30 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (49) 65.82/45.30 Obligation: 65.82/45.30 The TRS P consists of the following rules: 65.82/45.30 65.82/45.30 U271^1(tt, A, B) -> U272^1(isBagKind(A), A, B) 65.82/45.30 U272^1(tt, A, B) -> U273^1(isBag(B), A, B) 65.82/45.30 U274^1(tt, A, B) -> SUM(A) 65.82/45.30 U274^1(tt, A, B) -> SUM(B) 65.82/45.30 U273^1(tt, A, B) -> U274^1(isBagKind(B), A, B) 65.82/45.30 SUM(union(A, B)) -> U271^1(isBag(A), A, B) 65.82/45.30 65.82/45.30 The TRS R consists of the following rules: 65.82/45.30 65.82/45.30 union(X, empty) -> X 65.82/45.30 union(empty, X) -> X 65.82/45.30 0(z) -> z 65.82/45.30 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.30 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.30 U103(tt) -> tt 65.82/45.30 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.30 U111(tt) -> tt 65.82/45.30 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.30 U121(tt) -> tt 65.82/45.30 U13(tt) -> tt 65.82/45.30 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.30 U132(tt) -> tt 65.82/45.30 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.30 U142(tt) -> tt 65.82/45.30 U151(tt) -> tt 65.82/45.30 U161(tt) -> tt 65.82/45.30 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.30 U172(tt) -> z 65.82/45.30 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.30 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.30 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.30 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.30 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.30 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.30 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.30 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.30 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.30 U202(tt, X) -> X 65.82/45.30 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.30 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.30 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.30 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.30 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.30 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.30 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.30 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.30 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.30 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.30 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.30 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.30 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.30 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.30 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.30 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.30 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.30 U242(tt, X) -> X 65.82/45.30 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.30 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.30 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.30 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.30 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.30 U26(tt) -> tt 65.82/45.30 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.30 U262(tt, X) -> X 65.82/45.30 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.30 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.30 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.30 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.30 U31(tt) -> tt 65.82/45.30 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.30 U42(tt) -> tt 65.82/45.30 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.30 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.30 U53(tt) -> tt 65.82/45.30 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.30 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.30 U63(tt) -> tt 65.82/45.30 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.30 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.30 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.30 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.30 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.30 U76(tt) -> tt 65.82/45.30 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.30 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.30 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.30 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.30 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.30 U86(tt) -> tt 65.82/45.30 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.30 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.30 U93(tt) -> tt 65.82/45.30 isBag(empty) -> tt 65.82/45.30 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.30 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.30 isBagKind(empty) -> tt 65.82/45.30 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.30 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.30 isBin(z) -> tt 65.82/45.30 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.30 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.30 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.30 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.30 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.30 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.30 isBinKind(z) -> tt 65.82/45.30 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.30 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.30 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.30 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.30 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.30 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.30 mult(z, X) -> U171(isBin(X), X) 65.82/45.30 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.30 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.30 plus(z, X) -> U201(isBin(X), X) 65.82/45.30 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.30 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.30 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.30 prod(empty) -> 1(z) 65.82/45.30 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.30 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.30 sum(empty) -> 0(z) 65.82/45.30 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.30 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.30 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.30 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.30 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.30 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.30 65.82/45.30 The set E consists of the following equations: 65.82/45.30 65.82/45.30 mult(x, y) == mult(y, x) 65.82/45.30 plus(x, y) == plus(y, x) 65.82/45.30 union(x, y) == union(y, x) 65.82/45.30 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.30 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.30 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.30 65.82/45.30 E# is empty. 65.82/45.30 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (50) EUsableRulesReductionPairsProof (EQUIVALENT) 65.82/45.30 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. 65.82/45.30 65.82/45.30 The following dependency pairs can be deleted: 65.82/45.30 65.82/45.30 SUM(union(A, B)) -> U271^1(isBag(A), A, B) 65.82/45.30 The following rules are removed from R: 65.82/45.30 65.82/45.30 union(X, empty) -> X 65.82/45.30 union(empty, X) -> X 65.82/45.30 0(z) -> z 65.82/45.30 U161(tt) -> tt 65.82/45.30 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.30 U172(tt) -> z 65.82/45.30 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.30 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.30 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.30 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.30 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.30 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.30 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.30 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.30 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.30 U202(tt, X) -> X 65.82/45.30 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.30 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.30 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.30 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.30 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.30 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.30 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.30 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.30 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.30 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.30 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.30 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.30 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.30 U242(tt, X) -> X 65.82/45.30 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.30 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.30 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.30 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.30 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.30 U262(tt, X) -> X 65.82/45.30 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.30 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.30 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.30 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.30 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.30 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.30 isBag(empty) -> tt 65.82/45.30 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.30 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.30 isBagKind(empty) -> tt 65.82/45.30 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.30 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.30 isBin(z) -> tt 65.82/45.30 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.30 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.30 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.30 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.30 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.30 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.30 isBinKind(z) -> tt 65.82/45.30 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.30 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.30 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.30 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.30 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.30 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.30 mult(z, X) -> U171(isBin(X), X) 65.82/45.30 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.30 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.30 plus(z, X) -> U201(isBin(X), X) 65.82/45.30 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.30 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.30 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.30 prod(empty) -> 1(z) 65.82/45.30 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.30 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.30 sum(empty) -> 0(z) 65.82/45.30 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.30 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.30 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.30 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.30 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.30 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.30 The following equations are removed from E: 65.82/45.30 65.82/45.30 mult(x, y) == mult(y, x) 65.82/45.30 plus(x, y) == plus(y, x) 65.82/45.30 union(x, y) == union(y, x) 65.82/45.30 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.30 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.30 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.30 Used ordering: POLO with Polynomial interpretation [POLO]: 65.82/45.30 65.82/45.30 POL(0(x_1)) = 2 + 3*x_1 65.82/45.30 POL(1(x_1)) = 3*x_1 65.82/45.30 POL(SUM(x_1)) = x_1 65.82/45.30 POL(U101(x_1, x_2)) = x_1 + 2*x_2 65.82/45.30 POL(U102(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U103(x_1)) = x_1 65.82/45.30 POL(U11(x_1, x_2)) = x_1 + 2*x_2 65.82/45.30 POL(U111(x_1)) = x_1 65.82/45.30 POL(U12(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U121(x_1)) = x_1 65.82/45.30 POL(U13(x_1)) = x_1 65.82/45.30 POL(U131(x_1, x_2)) = 2*x_1 + 2*x_2 65.82/45.30 POL(U132(x_1)) = 2*x_1 65.82/45.30 POL(U141(x_1, x_2)) = x_1 + 2*x_2 65.82/45.30 POL(U142(x_1)) = x_1 65.82/45.30 POL(U151(x_1)) = x_1 65.82/45.30 POL(U161(x_1)) = 2 + x_1 65.82/45.30 POL(U21(x_1, x_2, x_3)) = x_1 + 2*x_2 + 3*x_3 65.82/45.30 POL(U22(x_1, x_2, x_3)) = x_1 + x_2 + 3*x_3 65.82/45.30 POL(U23(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.30 POL(U24(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.30 POL(U25(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U26(x_1)) = x_1 65.82/45.30 POL(U271^1(x_1, x_2, x_3)) = x_1 + 2*x_2 + 3*x_3 65.82/45.30 POL(U272^1(x_1, x_2, x_3)) = x_1 + x_2 + 3*x_3 65.82/45.30 POL(U273^1(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.30 POL(U274^1(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.30 POL(U31(x_1)) = x_1 65.82/45.30 POL(U41(x_1, x_2)) = x_1 + 2*x_2 65.82/45.30 POL(U42(x_1)) = 2*x_1 65.82/45.30 POL(U51(x_1, x_2)) = 1 + x_1 + 2*x_2 65.82/45.30 POL(U52(x_1, x_2)) = 1 + x_1 + x_2 65.82/45.30 POL(U53(x_1)) = x_1 65.82/45.30 POL(U61(x_1, x_2)) = x_1 + 2*x_2 65.82/45.30 POL(U62(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U63(x_1)) = x_1 65.82/45.30 POL(U71(x_1, x_2, x_3)) = x_1 + 2*x_2 + 3*x_3 65.82/45.30 POL(U72(x_1, x_2, x_3)) = x_1 + x_2 + 3*x_3 65.82/45.30 POL(U73(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.30 POL(U74(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.30 POL(U75(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U76(x_1)) = x_1 65.82/45.30 POL(U81(x_1, x_2, x_3)) = x_1 + 2*x_2 + 3*x_3 65.82/45.30 POL(U82(x_1, x_2, x_3)) = x_1 + x_2 + 3*x_3 65.82/45.30 POL(U83(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.30 POL(U84(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.30 POL(U85(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U86(x_1)) = x_1 65.82/45.30 POL(U91(x_1, x_2)) = 2 + x_1 + 2*x_2 65.82/45.30 POL(U92(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U93(x_1)) = x_1 65.82/45.30 POL(empty) = 0 65.82/45.30 POL(isBag(x_1)) = x_1 65.82/45.30 POL(isBagKind(x_1)) = x_1 65.82/45.30 POL(isBin(x_1)) = x_1 65.82/45.30 POL(isBinKind(x_1)) = x_1 65.82/45.30 POL(mult(x_1, x_2)) = 1 + 3*x_1 + 3*x_2 65.82/45.30 POL(plus(x_1, x_2)) = 3*x_1 + 3*x_2 65.82/45.30 POL(prod(x_1)) = 3 + 3*x_1 65.82/45.30 POL(singl(x_1)) = 3*x_1 65.82/45.30 POL(sum(x_1)) = 2 + 3*x_1 65.82/45.30 POL(tt) = 0 65.82/45.30 POL(union(x_1, x_2)) = 3*x_1 + 3*x_2 65.82/45.30 POL(z) = 0 65.82/45.30 65.82/45.30 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (51) 65.82/45.30 Obligation: 65.82/45.30 The TRS P consists of the following rules: 65.82/45.30 65.82/45.30 U271^1(tt, A, B) -> U272^1(isBagKind(A), A, B) 65.82/45.30 U272^1(tt, A, B) -> U273^1(isBag(B), A, B) 65.82/45.30 U274^1(tt, A, B) -> SUM(A) 65.82/45.30 U274^1(tt, A, B) -> SUM(B) 65.82/45.30 U273^1(tt, A, B) -> U274^1(isBagKind(B), A, B) 65.82/45.30 65.82/45.30 The TRS R consists of the following rules: 65.82/45.30 65.82/45.30 U103(tt) -> tt 65.82/45.30 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.30 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.30 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.30 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.30 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.30 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.30 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.30 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.30 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.30 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.30 U93(tt) -> tt 65.82/45.30 U111(tt) -> tt 65.82/45.30 U121(tt) -> tt 65.82/45.30 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.30 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.30 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.30 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.30 U13(tt) -> tt 65.82/45.30 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.30 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.30 U26(tt) -> tt 65.82/45.30 U42(tt) -> tt 65.82/45.30 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.30 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.30 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.30 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.30 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.30 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.30 U31(tt) -> tt 65.82/45.30 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.30 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.30 U142(tt) -> tt 65.82/45.30 U76(tt) -> tt 65.82/45.30 U132(tt) -> tt 65.82/45.30 U86(tt) -> tt 65.82/45.30 U53(tt) -> tt 65.82/45.30 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.30 U63(tt) -> tt 65.82/45.30 U151(tt) -> tt 65.82/45.30 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.30 65.82/45.30 E is empty. 65.82/45.30 E# is empty. 65.82/45.30 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (52) EDependencyGraphProof (EQUIVALENT) 65.82/45.30 The approximation of the Equational Dependency Graph [DA_STEIN] contains 0 SCCs with 5 less nodes. 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (53) 65.82/45.30 TRUE 65.82/45.30 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (54) 65.82/45.30 Obligation: 65.82/45.30 The TRS P consists of the following rules: 65.82/45.30 65.82/45.30 U254^1(tt, A, B) -> PROD(A) 65.82/45.30 U252^1(tt, A, B) -> U253^1(isBag(B), A, B) 65.82/45.30 U254^1(tt, A, B) -> PROD(B) 65.82/45.30 U253^1(tt, A, B) -> U254^1(isBagKind(B), A, B) 65.82/45.30 PROD(union(A, B)) -> U251^1(isBag(A), A, B) 65.82/45.30 U251^1(tt, A, B) -> U252^1(isBagKind(A), A, B) 65.82/45.30 65.82/45.30 The TRS R consists of the following rules: 65.82/45.30 65.82/45.30 union(X, empty) -> X 65.82/45.30 union(empty, X) -> X 65.82/45.30 0(z) -> z 65.82/45.30 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.30 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.30 U103(tt) -> tt 65.82/45.30 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.30 U111(tt) -> tt 65.82/45.30 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.30 U121(tt) -> tt 65.82/45.30 U13(tt) -> tt 65.82/45.30 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.30 U132(tt) -> tt 65.82/45.30 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.30 U142(tt) -> tt 65.82/45.30 U151(tt) -> tt 65.82/45.30 U161(tt) -> tt 65.82/45.30 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.30 U172(tt) -> z 65.82/45.30 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.30 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.30 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.30 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.30 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.30 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.30 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.30 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.30 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.30 U202(tt, X) -> X 65.82/45.30 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.30 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.30 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.30 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.30 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.30 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.30 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.30 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.30 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.30 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.30 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.30 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.30 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.30 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.30 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.30 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.30 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.30 U242(tt, X) -> X 65.82/45.30 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.30 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.30 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.30 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.30 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.30 U26(tt) -> tt 65.82/45.30 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.30 U262(tt, X) -> X 65.82/45.30 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.30 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.30 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.30 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.30 U31(tt) -> tt 65.82/45.30 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.30 U42(tt) -> tt 65.82/45.30 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.30 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.30 U53(tt) -> tt 65.82/45.30 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.30 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.30 U63(tt) -> tt 65.82/45.30 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.30 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.30 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.30 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.30 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.30 U76(tt) -> tt 65.82/45.30 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.30 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.30 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.30 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.30 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.30 U86(tt) -> tt 65.82/45.30 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.30 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.30 U93(tt) -> tt 65.82/45.30 isBag(empty) -> tt 65.82/45.30 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.30 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.30 isBagKind(empty) -> tt 65.82/45.30 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.30 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.30 isBin(z) -> tt 65.82/45.30 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.30 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.30 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.30 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.30 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.30 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.30 isBinKind(z) -> tt 65.82/45.30 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.30 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.30 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.30 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.30 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.30 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.30 mult(z, X) -> U171(isBin(X), X) 65.82/45.30 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.30 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.30 plus(z, X) -> U201(isBin(X), X) 65.82/45.30 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.30 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.30 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.30 prod(empty) -> 1(z) 65.82/45.30 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.30 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.30 sum(empty) -> 0(z) 65.82/45.30 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.30 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.30 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.30 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.30 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.30 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.30 65.82/45.30 The set E consists of the following equations: 65.82/45.30 65.82/45.30 mult(x, y) == mult(y, x) 65.82/45.30 plus(x, y) == plus(y, x) 65.82/45.30 union(x, y) == union(y, x) 65.82/45.30 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.30 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.30 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.30 65.82/45.30 The set E# consists of the following equations: 65.82/45.30 65.82/45.30 MULT(x, y) == MULT(y, x) 65.82/45.30 PLUS(x, y) == PLUS(y, x) 65.82/45.30 UNION(x, y) == UNION(y, x) 65.82/45.30 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.30 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.30 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.30 65.82/45.30 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (55) ESharpUsableEquationsProof (EQUIVALENT) 65.82/45.30 We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: 65.82/45.30 MULT(x, y) == MULT(y, x) 65.82/45.30 PLUS(x, y) == PLUS(y, x) 65.82/45.30 UNION(x, y) == UNION(y, x) 65.82/45.30 MULT(mult(x, y), z') == MULT(x, mult(y, z')) 65.82/45.30 PLUS(plus(x, y), z') == PLUS(x, plus(y, z')) 65.82/45.30 UNION(union(x, y), z') == UNION(x, union(y, z')) 65.82/45.30 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (56) 65.82/45.30 Obligation: 65.82/45.30 The TRS P consists of the following rules: 65.82/45.30 65.82/45.30 U254^1(tt, A, B) -> PROD(A) 65.82/45.30 U252^1(tt, A, B) -> U253^1(isBag(B), A, B) 65.82/45.30 U254^1(tt, A, B) -> PROD(B) 65.82/45.30 U253^1(tt, A, B) -> U254^1(isBagKind(B), A, B) 65.82/45.30 PROD(union(A, B)) -> U251^1(isBag(A), A, B) 65.82/45.30 U251^1(tt, A, B) -> U252^1(isBagKind(A), A, B) 65.82/45.30 65.82/45.30 The TRS R consists of the following rules: 65.82/45.30 65.82/45.30 union(X, empty) -> X 65.82/45.30 union(empty, X) -> X 65.82/45.30 0(z) -> z 65.82/45.30 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.30 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.30 U103(tt) -> tt 65.82/45.30 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.30 U111(tt) -> tt 65.82/45.30 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.30 U121(tt) -> tt 65.82/45.30 U13(tt) -> tt 65.82/45.30 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.30 U132(tt) -> tt 65.82/45.30 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.30 U142(tt) -> tt 65.82/45.30 U151(tt) -> tt 65.82/45.30 U161(tt) -> tt 65.82/45.30 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.30 U172(tt) -> z 65.82/45.30 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.30 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.30 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.30 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.30 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.30 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.30 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.30 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.30 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.30 U202(tt, X) -> X 65.82/45.30 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.30 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.30 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.30 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.30 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.30 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.30 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.30 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.30 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.30 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.30 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.30 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.30 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.30 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.30 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.30 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.30 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.30 U242(tt, X) -> X 65.82/45.30 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.30 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.30 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.30 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.30 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.30 U26(tt) -> tt 65.82/45.30 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.30 U262(tt, X) -> X 65.82/45.30 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.30 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.30 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.30 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.30 U31(tt) -> tt 65.82/45.30 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.30 U42(tt) -> tt 65.82/45.30 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.30 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.30 U53(tt) -> tt 65.82/45.30 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.30 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.30 U63(tt) -> tt 65.82/45.30 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.30 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.30 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.30 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.30 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.30 U76(tt) -> tt 65.82/45.30 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.30 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.30 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.30 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.30 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.30 U86(tt) -> tt 65.82/45.30 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.30 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.30 U93(tt) -> tt 65.82/45.30 isBag(empty) -> tt 65.82/45.30 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.30 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.30 isBagKind(empty) -> tt 65.82/45.30 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.30 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.30 isBin(z) -> tt 65.82/45.30 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.30 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.30 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.30 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.30 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.30 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.30 isBinKind(z) -> tt 65.82/45.30 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.30 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.30 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.30 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.30 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.30 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.30 mult(z, X) -> U171(isBin(X), X) 65.82/45.30 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.30 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.30 plus(z, X) -> U201(isBin(X), X) 65.82/45.30 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.30 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.30 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.30 prod(empty) -> 1(z) 65.82/45.30 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.30 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.30 sum(empty) -> 0(z) 65.82/45.30 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.30 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.30 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.30 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.30 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.30 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.30 65.82/45.30 The set E consists of the following equations: 65.82/45.30 65.82/45.30 mult(x, y) == mult(y, x) 65.82/45.30 plus(x, y) == plus(y, x) 65.82/45.30 union(x, y) == union(y, x) 65.82/45.30 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.30 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.30 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.30 65.82/45.30 E# is empty. 65.82/45.30 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (57) EUsableRulesReductionPairsProof (EQUIVALENT) 65.82/45.30 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. 65.82/45.30 65.82/45.30 The following dependency pairs can be deleted: 65.82/45.30 65.82/45.30 PROD(union(A, B)) -> U251^1(isBag(A), A, B) 65.82/45.30 U251^1(tt, A, B) -> U252^1(isBagKind(A), A, B) 65.82/45.30 The following rules are removed from R: 65.82/45.30 65.82/45.30 union(X, empty) -> X 65.82/45.30 union(empty, X) -> X 65.82/45.30 0(z) -> z 65.82/45.30 U101(tt, V1) -> U102(isBagKind(V1), V1) 65.82/45.30 U12(tt, V1) -> U13(isBin(V1)) 65.82/45.30 U131(tt, V2) -> U132(isBinKind(V2)) 65.82/45.30 U171(tt, X) -> U172(isBinKind(X)) 65.82/45.30 U172(tt) -> z 65.82/45.30 U181(tt, X, Y) -> U182(isBinKind(X), X, Y) 65.82/45.30 U182(tt, X, Y) -> U183(isBin(Y), X, Y) 65.82/45.30 U183(tt, X, Y) -> U184(isBinKind(Y), X, Y) 65.82/45.30 U184(tt, X, Y) -> 0(mult(X, Y)) 65.82/45.30 U191(tt, X, Y) -> U192(isBinKind(X), X, Y) 65.82/45.30 U192(tt, X, Y) -> U193(isBin(Y), X, Y) 65.82/45.30 U193(tt, X, Y) -> U194(isBinKind(Y), X, Y) 65.82/45.30 U194(tt, X, Y) -> plus(0(mult(X, Y)), Y) 65.82/45.30 U201(tt, X) -> U202(isBinKind(X), X) 65.82/45.30 U202(tt, X) -> X 65.82/45.30 U211(tt, X, Y) -> U212(isBinKind(X), X, Y) 65.82/45.30 U212(tt, X, Y) -> U213(isBin(Y), X, Y) 65.82/45.30 U213(tt, X, Y) -> U214(isBinKind(Y), X, Y) 65.82/45.30 U214(tt, X, Y) -> 0(plus(X, Y)) 65.82/45.30 U221(tt, X, Y) -> U222(isBinKind(X), X, Y) 65.82/45.30 U222(tt, X, Y) -> U223(isBin(Y), X, Y) 65.82/45.30 U223(tt, X, Y) -> U224(isBinKind(Y), X, Y) 65.82/45.30 U224(tt, X, Y) -> 1(plus(X, Y)) 65.82/45.30 U231(tt, X, Y) -> U232(isBinKind(X), X, Y) 65.82/45.30 U232(tt, X, Y) -> U233(isBin(Y), X, Y) 65.82/45.30 U233(tt, X, Y) -> U234(isBinKind(Y), X, Y) 65.82/45.30 U234(tt, X, Y) -> 0(plus(plus(X, Y), 1(z))) 65.82/45.30 U241(tt, X) -> U242(isBinKind(X), X) 65.82/45.30 U242(tt, X) -> X 65.82/45.30 U251(tt, A, B) -> U252(isBagKind(A), A, B) 65.82/45.30 U252(tt, A, B) -> U253(isBag(B), A, B) 65.82/45.30 U253(tt, A, B) -> U254(isBagKind(B), A, B) 65.82/45.30 U254(tt, A, B) -> mult(prod(A), prod(B)) 65.82/45.30 U261(tt, X) -> U262(isBinKind(X), X) 65.82/45.30 U262(tt, X) -> X 65.82/45.30 U271(tt, A, B) -> U272(isBagKind(A), A, B) 65.82/45.30 U272(tt, A, B) -> U273(isBag(B), A, B) 65.82/45.30 U273(tt, A, B) -> U274(isBagKind(B), A, B) 65.82/45.30 U274(tt, A, B) -> plus(sum(A), sum(B)) 65.82/45.30 U52(tt, V1) -> U53(isBin(V1)) 65.82/45.30 U72(tt, V1, V2) -> U73(isBinKind(V2), V1, V2) 65.82/45.30 U81(tt, V1, V2) -> U82(isBinKind(V1), V1, V2) 65.82/45.30 U82(tt, V1, V2) -> U83(isBinKind(V2), V1, V2) 65.82/45.30 U91(tt, V1) -> U92(isBagKind(V1), V1) 65.82/45.30 isBag(empty) -> tt 65.82/45.30 isBag(singl(V1)) -> U11(isBinKind(V1), V1) 65.82/45.30 isBag(union(V1, V2)) -> U21(isBagKind(V1), V1, V2) 65.82/45.30 isBagKind(empty) -> tt 65.82/45.30 isBagKind(singl(V1)) -> U31(isBinKind(V1)) 65.82/45.30 isBagKind(union(V1, V2)) -> U41(isBagKind(V1), V2) 65.82/45.30 isBin(z) -> tt 65.82/45.30 isBin(0(V1)) -> U51(isBinKind(V1), V1) 65.82/45.30 isBin(1(V1)) -> U61(isBinKind(V1), V1) 65.82/45.30 isBin(mult(V1, V2)) -> U71(isBinKind(V1), V1, V2) 65.82/45.30 isBin(plus(V1, V2)) -> U81(isBinKind(V1), V1, V2) 65.82/45.30 isBin(prod(V1)) -> U91(isBagKind(V1), V1) 65.82/45.30 isBin(sum(V1)) -> U101(isBagKind(V1), V1) 65.82/45.30 isBinKind(z) -> tt 65.82/45.30 isBinKind(0(V1)) -> U111(isBinKind(V1)) 65.82/45.30 isBinKind(1(V1)) -> U121(isBinKind(V1)) 65.82/45.30 isBinKind(mult(V1, V2)) -> U131(isBinKind(V1), V2) 65.82/45.30 isBinKind(plus(V1, V2)) -> U141(isBinKind(V1), V2) 65.82/45.30 isBinKind(prod(V1)) -> U151(isBagKind(V1)) 65.82/45.30 isBinKind(sum(V1)) -> U161(isBagKind(V1)) 65.82/45.30 mult(z, X) -> U171(isBin(X), X) 65.82/45.30 mult(0(X), Y) -> U181(isBin(X), X, Y) 65.82/45.30 mult(1(X), Y) -> U191(isBin(X), X, Y) 65.82/45.30 plus(z, X) -> U201(isBin(X), X) 65.82/45.30 plus(0(X), 0(Y)) -> U211(isBin(X), X, Y) 65.82/45.30 plus(0(X), 1(Y)) -> U221(isBin(X), X, Y) 65.82/45.30 plus(1(X), 1(Y)) -> U231(isBin(X), X, Y) 65.82/45.30 prod(empty) -> 1(z) 65.82/45.30 prod(singl(X)) -> U241(isBin(X), X) 65.82/45.30 prod(union(A, B)) -> U251(isBag(A), A, B) 65.82/45.30 sum(empty) -> 0(z) 65.82/45.30 sum(singl(X)) -> U261(isBin(X), X) 65.82/45.30 sum(union(A, B)) -> U271(isBag(A), A, B) 65.82/45.30 mult(mult(z, X), ext) -> mult(U171(isBin(X), X), ext) 65.82/45.30 mult(mult(0(X), Y), ext) -> mult(U181(isBin(X), X, Y), ext) 65.82/45.30 mult(mult(1(X), Y), ext) -> mult(U191(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(z, X), ext) -> plus(U201(isBin(X), X), ext) 65.82/45.30 plus(plus(0(X), 0(Y)), ext) -> plus(U211(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(0(X), 1(Y)), ext) -> plus(U221(isBin(X), X, Y), ext) 65.82/45.30 plus(plus(1(X), 1(Y)), ext) -> plus(U231(isBin(X), X, Y), ext) 65.82/45.30 The following equations are removed from E: 65.82/45.30 65.82/45.30 mult(x, y) == mult(y, x) 65.82/45.30 plus(x, y) == plus(y, x) 65.82/45.30 union(x, y) == union(y, x) 65.82/45.30 mult(mult(x, y), z') == mult(x, mult(y, z')) 65.82/45.30 plus(plus(x, y), z') == plus(x, plus(y, z')) 65.82/45.30 union(union(x, y), z') == union(x, union(y, z')) 65.82/45.30 Used ordering: POLO with Polynomial interpretation [POLO]: 65.82/45.30 65.82/45.30 POL(0(x_1)) = 2 + 3*x_1 65.82/45.30 POL(1(x_1)) = 3*x_1 65.82/45.30 POL(PROD(x_1)) = x_1 65.82/45.30 POL(U101(x_1, x_2)) = 1 + x_1 + 2*x_2 65.82/45.30 POL(U102(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U103(x_1)) = x_1 65.82/45.30 POL(U11(x_1, x_2)) = 1 + x_1 + 2*x_2 65.82/45.30 POL(U111(x_1)) = x_1 65.82/45.30 POL(U12(x_1, x_2)) = 1 + x_1 + x_2 65.82/45.30 POL(U121(x_1)) = x_1 65.82/45.30 POL(U13(x_1)) = x_1 65.82/45.30 POL(U131(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 65.82/45.30 POL(U132(x_1)) = x_1 65.82/45.30 POL(U141(x_1, x_2)) = x_1 + 2*x_2 65.82/45.30 POL(U142(x_1)) = x_1 65.82/45.30 POL(U151(x_1)) = x_1 65.82/45.30 POL(U161(x_1)) = x_1 65.82/45.30 POL(U21(x_1, x_2, x_3)) = x_1 + 2*x_2 + 3*x_3 65.82/45.30 POL(U22(x_1, x_2, x_3)) = x_1 + x_2 + 3*x_3 65.82/45.30 POL(U23(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.30 POL(U24(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.30 POL(U25(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U251^1(x_1, x_2, x_3)) = 1 + x_1 + 2*x_2 + 3*x_3 65.82/45.30 POL(U252^1(x_1, x_2, x_3)) = x_1 + x_2 + 3*x_3 65.82/45.30 POL(U253^1(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.30 POL(U254^1(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.30 POL(U26(x_1)) = x_1 65.82/45.30 POL(U31(x_1)) = x_1 65.82/45.30 POL(U41(x_1, x_2)) = x_1 + 2*x_2 65.82/45.30 POL(U42(x_1)) = 2*x_1 65.82/45.30 POL(U51(x_1, x_2)) = 2 + x_1 + 2*x_2 65.82/45.30 POL(U52(x_1, x_2)) = 2 + x_1 + x_2 65.82/45.30 POL(U53(x_1)) = x_1 65.82/45.30 POL(U61(x_1, x_2)) = x_1 + 2*x_2 65.82/45.30 POL(U62(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U63(x_1)) = x_1 65.82/45.30 POL(U71(x_1, x_2, x_3)) = 2 + x_1 + 2*x_2 + 3*x_3 65.82/45.30 POL(U72(x_1, x_2, x_3)) = 2 + x_1 + x_2 + 3*x_3 65.82/45.30 POL(U73(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.30 POL(U74(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.30 POL(U75(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U76(x_1)) = x_1 65.82/45.30 POL(U81(x_1, x_2, x_3)) = 2 + x_1 + 2*x_2 + 3*x_3 65.82/45.30 POL(U82(x_1, x_2, x_3)) = 1 + x_1 + x_2 + 3*x_3 65.82/45.30 POL(U83(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 65.82/45.30 POL(U84(x_1, x_2, x_3)) = x_1 + x_2 + x_3 65.82/45.30 POL(U85(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U86(x_1)) = x_1 65.82/45.30 POL(U91(x_1, x_2)) = 2 + x_1 + 2*x_2 65.82/45.30 POL(U92(x_1, x_2)) = x_1 + x_2 65.82/45.30 POL(U93(x_1)) = x_1 65.82/45.30 POL(empty) = 0 65.82/45.30 POL(isBag(x_1)) = x_1 65.82/45.30 POL(isBagKind(x_1)) = x_1 65.82/45.30 POL(isBin(x_1)) = x_1 65.82/45.30 POL(isBinKind(x_1)) = x_1 65.82/45.30 POL(mult(x_1, x_2)) = 3 + 3*x_1 + 3*x_2 65.82/45.30 POL(plus(x_1, x_2)) = 2 + 3*x_1 + 3*x_2 65.82/45.30 POL(prod(x_1)) = 2 + 3*x_1 65.82/45.30 POL(singl(x_1)) = 2 + 3*x_1 65.82/45.30 POL(sum(x_1)) = 2 + 3*x_1 65.82/45.30 POL(tt) = 0 65.82/45.30 POL(union(x_1, x_2)) = 1 + 3*x_1 + 3*x_2 65.82/45.30 POL(z) = 0 65.82/45.30 65.82/45.30 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (58) 65.82/45.30 Obligation: 65.82/45.30 The TRS P consists of the following rules: 65.82/45.30 65.82/45.30 U254^1(tt, A, B) -> PROD(A) 65.82/45.30 U252^1(tt, A, B) -> U253^1(isBag(B), A, B) 65.82/45.30 U254^1(tt, A, B) -> PROD(B) 65.82/45.30 U253^1(tt, A, B) -> U254^1(isBagKind(B), A, B) 65.82/45.30 65.82/45.30 The TRS R consists of the following rules: 65.82/45.30 65.82/45.30 U103(tt) -> tt 65.82/45.30 U25(tt, V2) -> U26(isBag(V2)) 65.82/45.30 U71(tt, V1, V2) -> U72(isBinKind(V1), V1, V2) 65.82/45.30 U74(tt, V1, V2) -> U75(isBin(V1), V2) 65.82/45.30 U61(tt, V1) -> U62(isBinKind(V1), V1) 65.82/45.30 U84(tt, V1, V2) -> U85(isBin(V1), V2) 65.82/45.30 U141(tt, V2) -> U142(isBinKind(V2)) 65.82/45.30 U85(tt, V2) -> U86(isBin(V2)) 65.82/45.30 U24(tt, V1, V2) -> U25(isBag(V1), V2) 65.82/45.30 U93(tt) -> tt 65.82/45.30 U111(tt) -> tt 65.82/45.30 U121(tt) -> tt 65.82/45.30 U21(tt, V1, V2) -> U22(isBagKind(V1), V1, V2) 65.82/45.30 U75(tt, V2) -> U76(isBin(V2)) 65.82/45.30 U51(tt, V1) -> U52(isBinKind(V1), V1) 65.82/45.30 U13(tt) -> tt 65.82/45.30 U102(tt, V1) -> U103(isBag(V1)) 65.82/45.30 U23(tt, V1, V2) -> U24(isBagKind(V2), V1, V2) 65.82/45.30 U26(tt) -> tt 65.82/45.30 U42(tt) -> tt 65.82/45.30 U92(tt, V1) -> U93(isBag(V1)) 65.82/45.30 U11(tt, V1) -> U12(isBinKind(V1), V1) 65.82/45.30 U22(tt, V1, V2) -> U23(isBagKind(V2), V1, V2) 65.82/45.30 U31(tt) -> tt 65.82/45.30 U41(tt, V2) -> U42(isBagKind(V2)) 65.82/45.30 U83(tt, V1, V2) -> U84(isBinKind(V2), V1, V2) 65.82/45.30 U142(tt) -> tt 65.82/45.30 U161(tt) -> tt 65.82/45.30 U76(tt) -> tt 65.82/45.30 U132(tt) -> tt 65.82/45.30 U86(tt) -> tt 65.82/45.30 U53(tt) -> tt 65.82/45.30 U62(tt, V1) -> U63(isBin(V1)) 65.82/45.30 U63(tt) -> tt 65.82/45.30 U151(tt) -> tt 65.82/45.30 U73(tt, V1, V2) -> U74(isBinKind(V2), V1, V2) 65.82/45.30 65.82/45.30 E is empty. 65.82/45.30 E# is empty. 65.82/45.30 We have to consider all minimal (P,E#,R,E)-chains 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (59) EDependencyGraphProof (EQUIVALENT) 65.82/45.30 The approximation of the Equational Dependency Graph [DA_STEIN] contains 0 SCCs with 4 less nodes. 65.82/45.30 ---------------------------------------- 65.82/45.30 65.82/45.30 (60) 65.82/45.30 TRUE 65.96/45.34 EOF