YES proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Termination w.r.t. Q of the given QTRS could be proven: (0) QTRS (1) QTRSRRRProof [EQUIVALENT, 56 ms] (2) QTRS (3) RisEmptyProof [EQUIVALENT, 0 ms] (4) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: terms(N) -> cons(recip(sqr(N))) sqr(0) -> 0 sqr(s(X)) -> s(add(sqr(X), dbl(X))) dbl(0) -> 0 dbl(s(X)) -> s(s(dbl(X))) add(0, X) -> X add(s(X), Y) -> s(add(X, Y)) first(0, X) -> nil first(s(X), cons(Y)) -> cons(Y) The set Q consists of the following terms: terms(x0) sqr(0) sqr(s(x0)) dbl(0) dbl(s(x0)) add(0, x0) add(s(x0), x1) first(0, x0) first(s(x0), cons(x1)) ---------------------------------------- (1) QTRSRRRProof (EQUIVALENT) Used ordering: Quasi precedence: terms_1 > [cons_1, first_2] terms_1 > recip_1 terms_1 > sqr_1 > 0 > nil terms_1 > sqr_1 > add_2 > s_1 terms_1 > sqr_1 > dbl_1 > s_1 Status: terms_1: [1] cons_1: [1] recip_1: multiset status sqr_1: multiset status 0: multiset status s_1: multiset status add_2: multiset status dbl_1: multiset status first_2: multiset status nil: multiset status With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: terms(N) -> cons(recip(sqr(N))) sqr(0) -> 0 sqr(s(X)) -> s(add(sqr(X), dbl(X))) dbl(0) -> 0 dbl(s(X)) -> s(s(dbl(X))) add(0, X) -> X add(s(X), Y) -> s(add(X, Y)) first(0, X) -> nil first(s(X), cons(Y)) -> cons(Y) ---------------------------------------- (2) Obligation: Q restricted rewrite system: R is empty. The set Q consists of the following terms: terms(x0) sqr(0) sqr(s(x0)) dbl(0) dbl(s(x0)) add(0, x0) add(s(x0), x1) first(0, x0) first(s(x0), cons(x1)) ---------------------------------------- (3) RisEmptyProof (EQUIVALENT) The TRS R is empty. Hence, termination is trivially proven. ---------------------------------------- (4) YES