YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Termination of the given ETRS could be proven: (0) ETRS (1) RRRPoloETRSProof [EQUIVALENT, 146 ms] (2) ETRS (3) RRRPoloETRSProof [EQUIVALENT, 41 ms] (4) ETRS (5) RRRPoloETRSProof [EQUIVALENT, 0 ms] (6) ETRS (7) RRRPoloETRSProof [EQUIVALENT, 6 ms] (8) ETRS (9) RisEmptyProof [EQUIVALENT, 0 ms] (10) YES ---------------------------------------- (0) Obligation: Equational rewrite system: The TRS R consists of the following rules: union(X, empty) -> X union(empty, X) -> X 0(z) -> z and(tt, X) -> X mult(z, X) -> z mult(0(X), Y) -> 0(mult(X, Y)) mult(1(X), Y) -> plus(0(mult(X, Y)), Y) plus(z, X) -> X plus(0(X), 0(Y)) -> 0(plus(X, Y)) plus(0(X), 1(Y)) -> 1(plus(X, Y)) plus(1(X), 1(Y)) -> 0(plus(plus(X, Y), 1(z))) prod(empty) -> 1(z) prod(singl(X)) -> X prod(union(A, B)) -> mult(prod(A), prod(B)) sum(empty) -> 0(z) sum(singl(X)) -> X sum(union(A, B)) -> plus(sum(A), sum(B)) The set E consists of the following equations: mult(x, y) == mult(y, x) plus(x, y) == plus(y, x) union(x, y) == union(y, x) mult(mult(x, y), z') == mult(x, mult(y, z')) plus(plus(x, y), z') == plus(x, plus(y, z')) union(union(x, y), z') == union(x, union(y, z')) ---------------------------------------- (1) RRRPoloETRSProof (EQUIVALENT) The following E TRS is given: Equational rewrite system: The TRS R consists of the following rules: union(X, empty) -> X union(empty, X) -> X 0(z) -> z and(tt, X) -> X mult(z, X) -> z mult(0(X), Y) -> 0(mult(X, Y)) mult(1(X), Y) -> plus(0(mult(X, Y)), Y) plus(z, X) -> X plus(0(X), 0(Y)) -> 0(plus(X, Y)) plus(0(X), 1(Y)) -> 1(plus(X, Y)) plus(1(X), 1(Y)) -> 0(plus(plus(X, Y), 1(z))) prod(empty) -> 1(z) prod(singl(X)) -> X prod(union(A, B)) -> mult(prod(A), prod(B)) sum(empty) -> 0(z) sum(singl(X)) -> X sum(union(A, B)) -> plus(sum(A), sum(B)) The set E consists of the following equations: mult(x, y) == mult(y, x) plus(x, y) == plus(y, x) union(x, y) == union(y, x) mult(mult(x, y), z') == mult(x, mult(y, z')) plus(plus(x, y), z') == plus(x, plus(y, z')) union(union(x, y), z') == union(x, union(y, z')) The following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly by a polynomial ordering: union(X, empty) -> X union(empty, X) -> X and(tt, X) -> X mult(1(X), Y) -> plus(0(mult(X, Y)), Y) plus(z, X) -> X sum(empty) -> 0(z) Used ordering: Polynomial interpretation [POLO]: POL(0(x_1)) = x_1 POL(1(x_1)) = 1 + x_1 POL(and(x_1, x_2)) = 3*x_1 + x_1*x_2 + 3*x_2 POL(empty) = 2 POL(mult(x_1, x_2)) = x_1 + 2*x_1*x_2 + x_2 POL(plus(x_1, x_2)) = x_1 + x_2 POL(prod(x_1)) = x_1 POL(singl(x_1)) = x_1 + 3*x_1^2 POL(sum(x_1)) = x_1 + x_1^2 POL(tt) = 3 POL(union(x_1, x_2)) = x_1 + 2*x_1*x_2 + x_2 POL(z) = 1 ---------------------------------------- (2) Obligation: Equational rewrite system: The TRS R consists of the following rules: 0(z) -> z mult(z, X) -> z mult(0(X), Y) -> 0(mult(X, Y)) plus(0(X), 0(Y)) -> 0(plus(X, Y)) plus(0(X), 1(Y)) -> 1(plus(X, Y)) plus(1(X), 1(Y)) -> 0(plus(plus(X, Y), 1(z))) prod(empty) -> 1(z) prod(singl(X)) -> X prod(union(A, B)) -> mult(prod(A), prod(B)) sum(singl(X)) -> X sum(union(A, B)) -> plus(sum(A), sum(B)) The set E consists of the following equations: mult(x, y) == mult(y, x) plus(x, y) == plus(y, x) union(x, y) == union(y, x) mult(mult(x, y), z') == mult(x, mult(y, z')) plus(plus(x, y), z') == plus(x, plus(y, z')) union(union(x, y), z') == union(x, union(y, z')) ---------------------------------------- (3) RRRPoloETRSProof (EQUIVALENT) The following E TRS is given: Equational rewrite system: The TRS R consists of the following rules: 0(z) -> z mult(z, X) -> z mult(0(X), Y) -> 0(mult(X, Y)) plus(0(X), 0(Y)) -> 0(plus(X, Y)) plus(0(X), 1(Y)) -> 1(plus(X, Y)) plus(1(X), 1(Y)) -> 0(plus(plus(X, Y), 1(z))) prod(empty) -> 1(z) prod(singl(X)) -> X prod(union(A, B)) -> mult(prod(A), prod(B)) sum(singl(X)) -> X sum(union(A, B)) -> plus(sum(A), sum(B)) The set E consists of the following equations: mult(x, y) == mult(y, x) plus(x, y) == plus(y, x) union(x, y) == union(y, x) mult(mult(x, y), z') == mult(x, mult(y, z')) plus(plus(x, y), z') == plus(x, plus(y, z')) union(union(x, y), z') == union(x, union(y, z')) The following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly by a polynomial ordering: mult(z, X) -> z plus(1(X), 1(Y)) -> 0(plus(plus(X, Y), 1(z))) prod(empty) -> 1(z) prod(singl(X)) -> X prod(union(A, B)) -> mult(prod(A), prod(B)) sum(singl(X)) -> X sum(union(A, B)) -> plus(sum(A), sum(B)) Used ordering: Polynomial interpretation [POLO]: POL(0(x_1)) = x_1 POL(1(x_1)) = 1 + 2*x_1 POL(empty) = 3 POL(mult(x_1, x_2)) = 2 + 2*x_1 + x_1*x_2 + 2*x_2 POL(plus(x_1, x_2)) = x_1 + 2*x_1*x_2 + x_2 POL(prod(x_1)) = 2 + 3*x_1 + 3*x_1^2 POL(singl(x_1)) = x_1 + 3*x_1^2 POL(sum(x_1)) = 1 + 2*x_1 + 3*x_1^2 POL(union(x_1, x_2)) = 2 + 3*x_1 + 3*x_1*x_2 + 3*x_2 POL(z) = 0 ---------------------------------------- (4) Obligation: Equational rewrite system: The TRS R consists of the following rules: 0(z) -> z mult(0(X), Y) -> 0(mult(X, Y)) plus(0(X), 0(Y)) -> 0(plus(X, Y)) plus(0(X), 1(Y)) -> 1(plus(X, Y)) The set E consists of the following equations: mult(x, y) == mult(y, x) plus(x, y) == plus(y, x) union(x, y) == union(y, x) mult(mult(x, y), z') == mult(x, mult(y, z')) plus(plus(x, y), z') == plus(x, plus(y, z')) union(union(x, y), z') == union(x, union(y, z')) ---------------------------------------- (5) RRRPoloETRSProof (EQUIVALENT) The following E TRS is given: Equational rewrite system: The TRS R consists of the following rules: 0(z) -> z mult(0(X), Y) -> 0(mult(X, Y)) plus(0(X), 0(Y)) -> 0(plus(X, Y)) plus(0(X), 1(Y)) -> 1(plus(X, Y)) The set E consists of the following equations: mult(x, y) == mult(y, x) plus(x, y) == plus(y, x) union(x, y) == union(y, x) mult(mult(x, y), z') == mult(x, mult(y, z')) plus(plus(x, y), z') == plus(x, plus(y, z')) union(union(x, y), z') == union(x, union(y, z')) The following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly by a polynomial ordering: 0(z) -> z plus(0(X), 0(Y)) -> 0(plus(X, Y)) plus(0(X), 1(Y)) -> 1(plus(X, Y)) Used ordering: Polynomial interpretation [POLO]: POL(0(x_1)) = 2 + 3*x_1 POL(1(x_1)) = 2*x_1 POL(mult(x_1, x_2)) = x_1 + 2*x_1*x_2 + x_2 POL(plus(x_1, x_2)) = 1 + 2*x_1 + 2*x_1*x_2 + 2*x_2 POL(union(x_1, x_2)) = 2 + 3*x_1 + 3*x_1*x_2 + 3*x_2 POL(z) = 2 ---------------------------------------- (6) Obligation: Equational rewrite system: The TRS R consists of the following rules: mult(0(X), Y) -> 0(mult(X, Y)) The set E consists of the following equations: mult(x, y) == mult(y, x) plus(x, y) == plus(y, x) union(x, y) == union(y, x) mult(mult(x, y), z') == mult(x, mult(y, z')) plus(plus(x, y), z') == plus(x, plus(y, z')) union(union(x, y), z') == union(x, union(y, z')) ---------------------------------------- (7) RRRPoloETRSProof (EQUIVALENT) The following E TRS is given: Equational rewrite system: The TRS R consists of the following rules: mult(0(X), Y) -> 0(mult(X, Y)) The set E consists of the following equations: mult(x, y) == mult(y, x) plus(x, y) == plus(y, x) union(x, y) == union(y, x) mult(mult(x, y), z') == mult(x, mult(y, z')) plus(plus(x, y), z') == plus(x, plus(y, z')) union(union(x, y), z') == union(x, union(y, z')) The following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly by a polynomial ordering: mult(0(X), Y) -> 0(mult(X, Y)) Used ordering: Polynomial interpretation [POLO]: POL(0(x_1)) = 2 + x_1 POL(mult(x_1, x_2)) = 1 + 2*x_1 + 2*x_1*x_2 + 2*x_2 POL(plus(x_1, x_2)) = 3 + 3*x_1 + 2*x_1*x_2 + 3*x_2 POL(union(x_1, x_2)) = 2 + 3*x_1 + 3*x_1*x_2 + 3*x_2 ---------------------------------------- (8) Obligation: Equational rewrite system: R is empty. The set E consists of the following equations: mult(x, y) == mult(y, x) plus(x, y) == plus(y, x) union(x, y) == union(y, x) mult(mult(x, y), z') == mult(x, mult(y, z')) plus(plus(x, y), z') == plus(x, plus(y, z')) union(union(x, y), z') == union(x, union(y, z')) ---------------------------------------- (9) RisEmptyProof (EQUIVALENT) The TRS R is empty. Hence, termination is trivially proven. ---------------------------------------- (10) YES