/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/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) QTRS Reverse [EQUIVALENT, 0 ms] (2) QTRS (3) QTRSRRRProof [EQUIVALENT, 11 ms] (4) QTRS (5) DependencyPairsProof [EQUIVALENT, 27 ms] (6) QDP (7) DependencyGraphProof [EQUIVALENT, 0 ms] (8) AND (9) QDP (10) UsableRulesProof [EQUIVALENT, 0 ms] (11) QDP (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] (13) YES (14) QDP (15) UsableRulesProof [EQUIVALENT, 0 ms] (16) QDP (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] (18) YES (19) QDP (20) UsableRulesProof [EQUIVALENT, 0 ms] (21) QDP (22) QDPSizeChangeProof [EQUIVALENT, 0 ms] (23) YES (24) QDP (25) UsableRulesProof [EQUIVALENT, 0 ms] (26) QDP (27) QDPOrderProof [EQUIVALENT, 23 ms] (28) QDP (29) PisEmptyProof [EQUIVALENT, 0 ms] (30) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: top(free(x)) -> top(check(new(x))) new(free(x)) -> free(new(x)) old(free(x)) -> free(old(x)) new(serve) -> free(serve) old(serve) -> free(serve) check(free(x)) -> free(check(x)) check(new(x)) -> new(check(x)) check(old(x)) -> old(check(x)) check(old(x)) -> old(x) Q is empty. ---------------------------------------- (1) QTRS Reverse (EQUIVALENT) We applied the QTRS Reverse Processor [REVERSE]. ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: free(top(x)) -> new(check(top(x))) free(new(x)) -> new(free(x)) free(old(x)) -> old(free(x)) serve'(new(x)) -> serve'(free(x)) serve'(old(x)) -> serve'(free(x)) free(check(x)) -> check(free(x)) new(check(x)) -> check(new(x)) old(check(x)) -> check(old(x)) old(check(x)) -> old(x) Q is empty. ---------------------------------------- (3) QTRSRRRProof (EQUIVALENT) Used ordering: Polynomial interpretation [POLO]: POL(check(x_1)) = x_1 POL(free(x_1)) = x_1 POL(new(x_1)) = x_1 POL(old(x_1)) = 1 + x_1 POL(serve'(x_1)) = x_1 POL(top(x_1)) = x_1 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: serve'(old(x)) -> serve'(free(x)) ---------------------------------------- (4) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: free(top(x)) -> new(check(top(x))) free(new(x)) -> new(free(x)) free(old(x)) -> old(free(x)) serve'(new(x)) -> serve'(free(x)) free(check(x)) -> check(free(x)) new(check(x)) -> check(new(x)) old(check(x)) -> check(old(x)) old(check(x)) -> old(x) Q is empty. ---------------------------------------- (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: FREE(top(x)) -> NEW(check(top(x))) FREE(new(x)) -> NEW(free(x)) FREE(new(x)) -> FREE(x) FREE(old(x)) -> OLD(free(x)) FREE(old(x)) -> FREE(x) SERVE'(new(x)) -> SERVE'(free(x)) SERVE'(new(x)) -> FREE(x) FREE(check(x)) -> FREE(x) NEW(check(x)) -> NEW(x) OLD(check(x)) -> OLD(x) The TRS R consists of the following rules: free(top(x)) -> new(check(top(x))) free(new(x)) -> new(free(x)) free(old(x)) -> old(free(x)) serve'(new(x)) -> serve'(free(x)) free(check(x)) -> check(free(x)) new(check(x)) -> check(new(x)) old(check(x)) -> check(old(x)) old(check(x)) -> old(x) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (7) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 4 less nodes. ---------------------------------------- (8) Complex Obligation (AND) ---------------------------------------- (9) Obligation: Q DP problem: The TRS P consists of the following rules: OLD(check(x)) -> OLD(x) The TRS R consists of the following rules: free(top(x)) -> new(check(top(x))) free(new(x)) -> new(free(x)) free(old(x)) -> old(free(x)) serve'(new(x)) -> serve'(free(x)) free(check(x)) -> check(free(x)) new(check(x)) -> check(new(x)) old(check(x)) -> check(old(x)) old(check(x)) -> old(x) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (10) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: OLD(check(x)) -> OLD(x) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (12) 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: *OLD(check(x)) -> OLD(x) The graph contains the following edges 1 > 1 ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: Q DP problem: The TRS P consists of the following rules: NEW(check(x)) -> NEW(x) The TRS R consists of the following rules: free(top(x)) -> new(check(top(x))) free(new(x)) -> new(free(x)) free(old(x)) -> old(free(x)) serve'(new(x)) -> serve'(free(x)) free(check(x)) -> check(free(x)) new(check(x)) -> check(new(x)) old(check(x)) -> check(old(x)) old(check(x)) -> old(x) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (15) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: NEW(check(x)) -> NEW(x) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) 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: *NEW(check(x)) -> NEW(x) The graph contains the following edges 1 > 1 ---------------------------------------- (18) YES ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: FREE(old(x)) -> FREE(x) FREE(new(x)) -> FREE(x) FREE(check(x)) -> FREE(x) The TRS R consists of the following rules: free(top(x)) -> new(check(top(x))) free(new(x)) -> new(free(x)) free(old(x)) -> old(free(x)) serve'(new(x)) -> serve'(free(x)) free(check(x)) -> check(free(x)) new(check(x)) -> check(new(x)) old(check(x)) -> check(old(x)) old(check(x)) -> old(x) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (20) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: FREE(old(x)) -> FREE(x) FREE(new(x)) -> FREE(x) FREE(check(x)) -> FREE(x) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (22) 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: *FREE(old(x)) -> FREE(x) The graph contains the following edges 1 > 1 *FREE(new(x)) -> FREE(x) The graph contains the following edges 1 > 1 *FREE(check(x)) -> FREE(x) The graph contains the following edges 1 > 1 ---------------------------------------- (23) YES ---------------------------------------- (24) Obligation: Q DP problem: The TRS P consists of the following rules: SERVE'(new(x)) -> SERVE'(free(x)) The TRS R consists of the following rules: free(top(x)) -> new(check(top(x))) free(new(x)) -> new(free(x)) free(old(x)) -> old(free(x)) serve'(new(x)) -> serve'(free(x)) free(check(x)) -> check(free(x)) new(check(x)) -> check(new(x)) old(check(x)) -> check(old(x)) old(check(x)) -> old(x) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (25) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (26) Obligation: Q DP problem: The TRS P consists of the following rules: SERVE'(new(x)) -> SERVE'(free(x)) The TRS R consists of the following rules: free(top(x)) -> new(check(top(x))) free(new(x)) -> new(free(x)) free(old(x)) -> old(free(x)) free(check(x)) -> check(free(x)) old(check(x)) -> check(old(x)) old(check(x)) -> old(x) new(check(x)) -> check(new(x)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (27) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. SERVE'(new(x)) -> SERVE'(free(x)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(SERVE'(x_1)) = 2*x_1 POL(check(x_1)) = 1 POL(free(x_1)) = 2*x_1 POL(new(x_1)) = 4 + 5*x_1 POL(old(x_1)) = 2 POL(top(x_1)) = 5 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: free(top(x)) -> new(check(top(x))) free(new(x)) -> new(free(x)) free(old(x)) -> old(free(x)) free(check(x)) -> check(free(x)) old(check(x)) -> check(old(x)) old(check(x)) -> old(x) new(check(x)) -> check(new(x)) ---------------------------------------- (28) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: free(top(x)) -> new(check(top(x))) free(new(x)) -> new(free(x)) free(old(x)) -> old(free(x)) free(check(x)) -> check(free(x)) old(check(x)) -> check(old(x)) old(check(x)) -> old(x) new(check(x)) -> check(new(x)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (30) YES