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, 160 ms] (2) ETRS (3) RRRPoloETRSProof [EQUIVALENT, 45 ms] (4) ETRS (5) EquationalDependencyPairsProof [EQUIVALENT, 0 ms] (6) EDP (7) EDependencyGraphProof [EQUIVALENT, 0 ms] (8) AND (9) EDP (10) ESharpUsableEquationsProof [EQUIVALENT, 0 ms] (11) EDP (12) EUsableRulesReductionPairsProof [EQUIVALENT, 4 ms] (13) EDP (14) PisEmptyProof [EQUIVALENT, 0 ms] (15) YES (16) EDP (17) ESharpUsableEquationsProof [EQUIVALENT, 0 ms] (18) EDP (19) EUsableRulesReductionPairsProof [EQUIVALENT, 0 ms] (20) EDP (21) EDPProblemToQDPProblemProof [EQUIVALENT, 0 ms] (22) QDP (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] (24) YES (25) EDP (26) EUsableRulesReductionPairsProof [EQUIVALENT, 0 ms] (27) EDP (28) ERuleRemovalProof [EQUIVALENT, 0 ms] (29) EDP (30) EDPPoloProof [EQUIVALENT, 0 ms] (31) EDP (32) PisEmptyProof [EQUIVALENT, 0 ms] (33) YES (34) EDP (35) ESharpUsableEquationsProof [EQUIVALENT, 0 ms] (36) EDP (37) EUsableRulesReductionPairsProof [EQUIVALENT, 0 ms] (38) EDP (39) PisEmptyProof [EQUIVALENT, 0 ms] (40) YES ---------------------------------------- (0) Obligation: Equational rewrite system: The TRS R consists of the following rules: sum(x, y) -> S(int(x, y)) S(nil) -> 0 S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, 0) -> cons(0, nil) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), 0) -> nil int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) ---------------------------------------- (1) RRRPoloETRSProof (EQUIVALENT) The following E TRS is given: Equational rewrite system: The TRS R consists of the following rules: sum(x, y) -> S(int(x, y)) S(nil) -> 0 S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, 0) -> cons(0, nil) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), 0) -> nil int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) The following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly by a polynomial ordering: sum(x, y) -> S(int(x, y)) int(0, 0) -> cons(0, nil) int(s(x), 0) -> nil Used ordering: Polynomial interpretation [POLO]: POL(0) = 0 POL(S(x_1)) = x_1 POL(cons(x_1, x_2)) = 2*x_1 + x_2 POL(int(x_1, x_2)) = 1 + x_1 + x_2 POL(intlist(x_1)) = x_1 POL(nil) = 0 POL(plus(x_1, x_2)) = x_1 + x_2 POL(s(x_1)) = x_1 POL(sum(x_1, x_2)) = 2 + x_1 + x_1*x_2 + x_2 ---------------------------------------- (2) Obligation: Equational rewrite system: The TRS R consists of the following rules: S(nil) -> 0 S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) ---------------------------------------- (3) RRRPoloETRSProof (EQUIVALENT) The following E TRS is given: Equational rewrite system: The TRS R consists of the following rules: S(nil) -> 0 S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) The following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly by a polynomial ordering: S(nil) -> 0 Used ordering: Polynomial interpretation [POLO]: POL(0) = 0 POL(S(x_1)) = 2*x_1 POL(cons(x_1, x_2)) = 2*x_1 + x_2 POL(int(x_1, x_2)) = 2*x_1 + x_2 POL(intlist(x_1)) = x_1 POL(nil) = 1 POL(plus(x_1, x_2)) = x_1 + x_2 POL(s(x_1)) = x_1 ---------------------------------------- (4) Obligation: Equational rewrite system: The TRS R consists of the following rules: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) ---------------------------------------- (5) EquationalDependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,DA_STEIN] we result in the following initial EDP problem: The TRS P consists of the following rules: S^1(cons(x, xs)) -> PLUS(x, S(xs)) S^1(cons(x, xs)) -> S^1(xs) PLUS(x, s(y)) -> PLUS(x, y) INT(0, s(y)) -> INT(s(0), s(y)) INT(s(x), s(y)) -> INTLIST(int(x, y)) INT(s(x), s(y)) -> INT(x, y) INTLIST(cons(x, y)) -> INTLIST(y) PLUS(plus(x, s(y)), ext) -> PLUS(s(plus(x, y)), ext) PLUS(plus(x, s(y)), ext) -> PLUS(x, y) The TRS R consists of the following rules: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) The set E# consists of the following equations: PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (6) Obligation: The TRS P consists of the following rules: S^1(cons(x, xs)) -> PLUS(x, S(xs)) S^1(cons(x, xs)) -> S^1(xs) PLUS(x, s(y)) -> PLUS(x, y) INT(0, s(y)) -> INT(s(0), s(y)) INT(s(x), s(y)) -> INTLIST(int(x, y)) INT(s(x), s(y)) -> INT(x, y) INTLIST(cons(x, y)) -> INTLIST(y) PLUS(plus(x, s(y)), ext) -> PLUS(s(plus(x, y)), ext) PLUS(plus(x, s(y)), ext) -> PLUS(x, y) The TRS R consists of the following rules: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) The set E# consists of the following equations: PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (7) EDependencyGraphProof (EQUIVALENT) The approximation of the Equational Dependency Graph [DA_STEIN] contains 4 SCCs with 2 less nodes. ---------------------------------------- (8) Complex Obligation (AND) ---------------------------------------- (9) Obligation: The TRS P consists of the following rules: INTLIST(cons(x, y)) -> INTLIST(y) The TRS R consists of the following rules: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) The set E# consists of the following equations: PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (10) ESharpUsableEquationsProof (EQUIVALENT) We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) ---------------------------------------- (11) Obligation: The TRS P consists of the following rules: INTLIST(cons(x, y)) -> INTLIST(y) The TRS R consists of the following rules: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) E# is empty. We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (12) EUsableRulesReductionPairsProof (EQUIVALENT) 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. The following dependency pairs can be deleted: INTLIST(cons(x, y)) -> INTLIST(y) The following rules are removed from R: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The following equations are removed from E: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) Used ordering: POLO with Polynomial interpretation [POLO]: POL(INTLIST(x_1)) = 3*x_1 POL(cons(x_1, x_2)) = x_1 + 3*x_2 ---------------------------------------- (13) Obligation: P is empty. R is empty. E is empty. E# is empty. We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (14) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,E#,R,E) chain. ---------------------------------------- (15) YES ---------------------------------------- (16) Obligation: The TRS P consists of the following rules: INT(0, s(y)) -> INT(s(0), s(y)) INT(s(x), s(y)) -> INT(x, y) The TRS R consists of the following rules: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) The set E# consists of the following equations: PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (17) ESharpUsableEquationsProof (EQUIVALENT) We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) ---------------------------------------- (18) Obligation: The TRS P consists of the following rules: INT(0, s(y)) -> INT(s(0), s(y)) INT(s(x), s(y)) -> INT(x, y) The TRS R consists of the following rules: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) E# is empty. We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (19) EUsableRulesReductionPairsProof (EQUIVALENT) 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. No dependency pairs are removed. The following rules are removed from R: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The following equations are removed from E: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) Used ordering: POLO with Polynomial interpretation [POLO]: POL(0) = 0 POL(INT(x_1, x_2)) = x_1 + 3*x_2 POL(s(x_1)) = x_1 ---------------------------------------- (20) Obligation: The TRS P consists of the following rules: INT(0, s(y)) -> INT(s(0), s(y)) INT(s(x), s(y)) -> INT(x, y) R is empty. E is empty. E# is empty. We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (21) EDPProblemToQDPProblemProof (EQUIVALENT) The EDP problem does not contain equations anymore, so we can transform it with the EDP to QDP problem processor [DA_STEIN] into a QDP problem. ---------------------------------------- (22) Obligation: Q DP problem: The TRS P consists of the following rules: INT(0, s(y)) -> INT(s(0), s(y)) INT(s(x), s(y)) -> INT(x, y) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (23) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *INT(s(x), s(y)) -> INT(x, y) The graph contains the following edges 1 > 1, 2 > 2 *INT(0, s(y)) -> INT(s(0), s(y)) The graph contains the following edges 2 >= 2 ---------------------------------------- (24) YES ---------------------------------------- (25) Obligation: The TRS P consists of the following rules: PLUS(plus(x, s(y)), ext) -> PLUS(s(plus(x, y)), ext) PLUS(plus(x, s(y)), ext) -> PLUS(x, y) PLUS(x, s(y)) -> PLUS(x, y) The TRS R consists of the following rules: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) The set E# consists of the following equations: PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (26) EUsableRulesReductionPairsProof (EQUIVALENT) 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. No dependency pairs are removed. The following rules are removed from R: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) No equations are removed from E. Used ordering: POLO with Polynomial interpretation [POLO]: POL(0) = 0 POL(PLUS(x_1, x_2)) = x_1 + x_2 POL(plus(x_1, x_2)) = x_1 + x_2 POL(s(x_1)) = x_1 ---------------------------------------- (27) Obligation: The TRS P consists of the following rules: PLUS(plus(x, s(y)), ext) -> PLUS(s(plus(x, y)), ext) PLUS(plus(x, s(y)), ext) -> PLUS(x, y) PLUS(x, s(y)) -> PLUS(x, y) The TRS R consists of the following rules: plus(x, s(y)) -> s(plus(x, y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) The set E# consists of the following equations: PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (28) ERuleRemovalProof (EQUIVALENT) By using the rule removal processor [DA_STEIN] with the following polynomial ordering [POLO], at least one Dependency Pair or term rewrite system rule of this EDP problem can be strictly oriented. Strictly oriented dependency pairs: PLUS(plus(x, s(y)), ext) -> PLUS(x, y) PLUS(x, s(y)) -> PLUS(x, y) Used ordering: POLO with Polynomial interpretation [POLO]: POL(PLUS(x_1, x_2)) = x_1 + x_2 POL(plus(x_1, x_2)) = 2 + x_1 + x_2 POL(s(x_1)) = 2 + x_1 ---------------------------------------- (29) Obligation: The TRS P consists of the following rules: PLUS(plus(x, s(y)), ext) -> PLUS(s(plus(x, y)), ext) The TRS R consists of the following rules: plus(x, s(y)) -> s(plus(x, y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) The set E# consists of the following equations: PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (30) EDPPoloProof (EQUIVALENT) We use the reduction pair processor [DA_STEIN] with a polynomial ordering [POLO]. All Dependency Pairs of this DP problem can be strictly oriented. PLUS(plus(x, s(y)), ext) -> PLUS(s(plus(x, y)), ext) With the implicit AFS we had to orient the following set of usable rules of R non-strictly. plus(x, s(y)) -> s(plus(x, y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) We had to orient the following equations of E# equivalently. PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) With the implicit AFS we had to orient the following usable equations of E equivalently. plus(plus(x, y), z) == plus(x, plus(y, z)) plus(x, y) == plus(y, x) Used ordering: POLO with Polynomial interpretation [POLO]: POL(PLUS(x_1, x_2)) = x_1 + x_2 POL(plus(x_1, x_2)) = 1 + x_1 + x_2 POL(s(x_1)) = 0 ---------------------------------------- (31) Obligation: P is empty. The TRS R consists of the following rules: plus(x, s(y)) -> s(plus(x, y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) The set E# consists of the following equations: PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (32) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,E#,R,E) chain. ---------------------------------------- (33) YES ---------------------------------------- (34) Obligation: The TRS P consists of the following rules: S^1(cons(x, xs)) -> S^1(xs) The TRS R consists of the following rules: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) The set E# consists of the following equations: PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (35) ESharpUsableEquationsProof (EQUIVALENT) We can delete the following equations of E# with the esharp usable equations processor[DA_STEIN]: PLUS(x, y) == PLUS(y, x) PLUS(plus(x, y), z) == PLUS(x, plus(y, z)) ---------------------------------------- (36) Obligation: The TRS P consists of the following rules: S^1(cons(x, xs)) -> S^1(xs) The TRS R consists of the following rules: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The set E consists of the following equations: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) E# is empty. We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (37) EUsableRulesReductionPairsProof (EQUIVALENT) 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. The following dependency pairs can be deleted: S^1(cons(x, xs)) -> S^1(xs) The following rules are removed from R: S(cons(x, xs)) -> plus(x, S(xs)) plus(x, 0) -> x plus(x, s(y)) -> s(plus(x, y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) plus(plus(x, s(y)), ext) -> plus(s(plus(x, y)), ext) The following equations are removed from E: plus(x, y) == plus(y, x) plus(plus(x, y), z) == plus(x, plus(y, z)) Used ordering: POLO with Polynomial interpretation [POLO]: POL(S^1(x_1)) = 3*x_1 POL(cons(x_1, x_2)) = x_1 + 3*x_2 ---------------------------------------- (38) Obligation: P is empty. R is empty. E is empty. E# is empty. We have to consider all minimal (P,E#,R,E)-chains ---------------------------------------- (39) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,E#,R,E) chain. ---------------------------------------- (40) YES