/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) QTRSRRRProof [EQUIVALENT, 153 ms] (2) QTRS (3) QTRSRRRProof [EQUIVALENT, 0 ms] (4) QTRS (5) RisEmptyProof [EQUIVALENT, 0 ms] (6) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: terms(N) -> cons(recip(sqr(N)), n__terms(s(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, Z)) -> cons(Y, n__first(X, activate(Z))) half(0) -> 0 half(s(0)) -> 0 half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) first(X1, X2) -> n__first(X1, X2) activate(n__terms(X)) -> terms(X) activate(n__first(X1, X2)) -> first(X1, X2) activate(X) -> X Q is empty. ---------------------------------------- (1) QTRSRRRProof (EQUIVALENT) Used ordering: terms/1(YES) cons/2(YES,YES) recip/1)YES( sqr/1(YES) n__terms/1)YES( s/1(YES) 0/0) add/2(YES,YES) dbl/1(YES) first/2(YES,YES) nil/0) n__first/2(YES,YES) activate/1(YES) half/1)YES( Quasi precedence: [terms_1, first_2, activate_1] > [cons_2, n__first_2] > nil [terms_1, first_2, activate_1] > [sqr_1, dbl_1] > add_2 > s_1 > 0 > nil Status: terms_1: multiset status cons_2: multiset status sqr_1: multiset status s_1: multiset status 0: multiset status add_2: [2,1] dbl_1: multiset status first_2: multiset status nil: multiset status n__first_2: multiset status activate_1: 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)), n__terms(s(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, Z)) -> cons(Y, n__first(X, activate(Z))) half(s(0)) -> 0 half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) first(X1, X2) -> n__first(X1, X2) activate(n__first(X1, X2)) -> first(X1, X2) activate(X) -> X ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: half(0) -> 0 activate(n__terms(X)) -> terms(X) Q is empty. ---------------------------------------- (3) QTRSRRRProof (EQUIVALENT) Used ordering: Knuth-Bendix order [KBO] with precedence:n__terms_1 > activate_1 > half_1 > 0 > terms_1 and weight map: 0=1 half_1=1 activate_1=1 n__terms_1=1 terms_1=2 The variable weight is 1With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: half(0) -> 0 activate(n__terms(X)) -> terms(X) ---------------------------------------- (4) Obligation: Q restricted rewrite system: R is empty. Q is empty. ---------------------------------------- (5) RisEmptyProof (EQUIVALENT) The TRS R is empty. Hence, termination is trivially proven. ---------------------------------------- (6) YES