/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) AAECC Innermost [EQUIVALENT, 0 ms] (2) QTRS (3) DependencyPairsProof [EQUIVALENT, 0 ms] (4) QDP (5) UsableRulesProof [EQUIVALENT, 0 ms] (6) QDP (7) QReductionProof [EQUIVALENT, 0 ms] (8) QDP (9) QDPSizeChangeProof [EQUIVALENT, 0 ms] (10) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: is_empty(nil) -> true is_empty(cons(x, l)) -> false hd(cons(x, l)) -> x tl(cons(x, l)) -> l append(l1, l2) -> ifappend(l1, l2, l1) ifappend(l1, l2, nil) -> l2 ifappend(l1, l2, cons(x, l)) -> cons(x, append(l, l2)) Q is empty. ---------------------------------------- (1) AAECC Innermost (EQUIVALENT) We have applied [NOC,AAECCNOC] to switch to innermost. The TRS R 1 is hd(cons(x, l)) -> x tl(cons(x, l)) -> l ifappend(l1, l2, nil) -> l2 ifappend(l1, l2, cons(x, l)) -> cons(x, append(l, l2)) append(l1, l2) -> ifappend(l1, l2, l1) The TRS R 2 is is_empty(nil) -> true is_empty(cons(x, l)) -> false The signature Sigma is {is_empty_1, true, false} ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: is_empty(nil) -> true is_empty(cons(x, l)) -> false hd(cons(x, l)) -> x tl(cons(x, l)) -> l append(l1, l2) -> ifappend(l1, l2, l1) ifappend(l1, l2, nil) -> l2 ifappend(l1, l2, cons(x, l)) -> cons(x, append(l, l2)) The set Q consists of the following terms: is_empty(nil) is_empty(cons(x0, x1)) hd(cons(x0, x1)) tl(cons(x0, x1)) append(x0, x1) ifappend(x0, x1, nil) ifappend(x0, x1, cons(x2, x3)) ---------------------------------------- (3) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (4) Obligation: Q DP problem: The TRS P consists of the following rules: APPEND(l1, l2) -> IFAPPEND(l1, l2, l1) IFAPPEND(l1, l2, cons(x, l)) -> APPEND(l, l2) The TRS R consists of the following rules: is_empty(nil) -> true is_empty(cons(x, l)) -> false hd(cons(x, l)) -> x tl(cons(x, l)) -> l append(l1, l2) -> ifappend(l1, l2, l1) ifappend(l1, l2, nil) -> l2 ifappend(l1, l2, cons(x, l)) -> cons(x, append(l, l2)) The set Q consists of the following terms: is_empty(nil) is_empty(cons(x0, x1)) hd(cons(x0, x1)) tl(cons(x0, x1)) append(x0, x1) ifappend(x0, x1, nil) ifappend(x0, x1, cons(x2, x3)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (5) 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. ---------------------------------------- (6) Obligation: Q DP problem: The TRS P consists of the following rules: APPEND(l1, l2) -> IFAPPEND(l1, l2, l1) IFAPPEND(l1, l2, cons(x, l)) -> APPEND(l, l2) R is empty. The set Q consists of the following terms: is_empty(nil) is_empty(cons(x0, x1)) hd(cons(x0, x1)) tl(cons(x0, x1)) append(x0, x1) ifappend(x0, x1, nil) ifappend(x0, x1, cons(x2, x3)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (7) 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]. is_empty(nil) is_empty(cons(x0, x1)) hd(cons(x0, x1)) tl(cons(x0, x1)) append(x0, x1) ifappend(x0, x1, nil) ifappend(x0, x1, cons(x2, x3)) ---------------------------------------- (8) Obligation: Q DP problem: The TRS P consists of the following rules: APPEND(l1, l2) -> IFAPPEND(l1, l2, l1) IFAPPEND(l1, l2, cons(x, l)) -> APPEND(l, l2) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (9) 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: *IFAPPEND(l1, l2, cons(x, l)) -> APPEND(l, l2) The graph contains the following edges 3 > 1, 2 >= 2 *APPEND(l1, l2) -> IFAPPEND(l1, l2, l1) The graph contains the following edges 1 >= 1, 2 >= 2, 1 >= 3 ---------------------------------------- (10) YES