/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination w.r.t. Q of the given QTRS could be proven: (0) QTRS (1) QTRSRRRProof [EQUIVALENT, 59 ms] (2) QTRS (3) QTRSRRRProof [EQUIVALENT, 15 ms] (4) QTRS (5) DependencyPairsProof [EQUIVALENT, 0 ms] (6) QDP (7) DependencyGraphProof [EQUIVALENT, 2 ms] (8) AND (9) QDP (10) UsableRulesProof [EQUIVALENT, 0 ms] (11) QDP (12) QReductionProof [EQUIVALENT, 0 ms] (13) QDP (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] (15) YES (16) QDP (17) UsableRulesProof [EQUIVALENT, 0 ms] (18) QDP (19) QReductionProof [EQUIVALENT, 0 ms] (20) QDP (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] (22) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(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)) The set Q consists of the following terms: intlist(nil) intlist(cons(x0, x1)) int(0, 0) int(0, s(x0)) int(s(x0), 0) int(s(x0), s(x1)) ---------------------------------------- (1) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(0) = 0 POL(cons(x_1, x_2)) = 2*x_1 + x_2 POL(int(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 POL(intlist(x_1)) = x_1 POL(nil) = 0 POL(s(x_1)) = x_1 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: int(0, 0) -> cons(0, nil) int(s(x), 0) -> nil ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: intlist(nil) -> nil intlist(cons(x, y)) -> cons(s(x), intlist(y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) The set Q consists of the following terms: intlist(nil) intlist(cons(x0, x1)) int(0, 0) int(0, s(x0)) int(s(x0), 0) int(s(x0), s(x1)) ---------------------------------------- (3) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(0) = 0 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)) = 2*x_1 POL(nil) = 1 POL(s(x_1)) = 2*x_1 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: intlist(nil) -> nil ---------------------------------------- (4) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: intlist(cons(x, y)) -> cons(s(x), intlist(y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) The set Q consists of the following terms: intlist(nil) intlist(cons(x0, x1)) int(0, 0) int(0, s(x0)) int(s(x0), 0) int(s(x0), s(x1)) ---------------------------------------- (5) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (6) Obligation: Q DP problem: The TRS P consists of the following rules: INTLIST(cons(x, y)) -> INTLIST(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) The TRS R consists of the following rules: intlist(cons(x, y)) -> cons(s(x), intlist(y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) The set Q consists of the following terms: intlist(nil) intlist(cons(x0, x1)) int(0, 0) int(0, s(x0)) int(s(x0), 0) int(s(x0), s(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (7) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (8) Complex Obligation (AND) ---------------------------------------- (9) Obligation: Q DP problem: The TRS P consists of the following rules: INTLIST(cons(x, y)) -> INTLIST(y) The TRS R consists of the following rules: intlist(cons(x, y)) -> cons(s(x), intlist(y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) The set Q consists of the following terms: intlist(nil) intlist(cons(x0, x1)) int(0, 0) int(0, s(x0)) int(s(x0), 0) int(s(x0), s(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (10) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: INTLIST(cons(x, y)) -> INTLIST(y) R is empty. The set Q consists of the following terms: intlist(nil) intlist(cons(x0, x1)) int(0, 0) int(0, s(x0)) int(s(x0), 0) int(s(x0), s(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (12) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. intlist(nil) intlist(cons(x0, x1)) int(0, 0) int(0, s(x0)) int(s(x0), 0) int(s(x0), s(x1)) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: INTLIST(cons(x, y)) -> INTLIST(y) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) 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: *INTLIST(cons(x, y)) -> INTLIST(y) The graph contains the following edges 1 > 1 ---------------------------------------- (15) YES ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: INT(s(x), s(y)) -> INT(x, y) INT(0, s(y)) -> INT(s(0), s(y)) The TRS R consists of the following rules: intlist(cons(x, y)) -> cons(s(x), intlist(y)) int(0, s(y)) -> cons(0, int(s(0), s(y))) int(s(x), s(y)) -> intlist(int(x, y)) The set Q consists of the following terms: intlist(nil) intlist(cons(x0, x1)) int(0, 0) int(0, s(x0)) int(s(x0), 0) int(s(x0), s(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: INT(s(x), s(y)) -> INT(x, y) INT(0, s(y)) -> INT(s(0), s(y)) R is empty. The set Q consists of the following terms: intlist(nil) intlist(cons(x0, x1)) int(0, 0) int(0, s(x0)) int(s(x0), 0) int(s(x0), s(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. intlist(nil) intlist(cons(x0, x1)) int(0, 0) int(0, s(x0)) int(s(x0), 0) int(s(x0), s(x1)) ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: INT(s(x), s(y)) -> INT(x, y) INT(0, s(y)) -> INT(s(0), s(y)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (21) 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 ---------------------------------------- (22) YES