/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, 129 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: from(X) -> cons(X, n__from(s(X))) head(cons(X, XS)) -> X 2nd(cons(X, XS)) -> head(activate(XS)) take(0, XS) -> nil take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS))) sel(0, cons(X, XS)) -> X sel(s(N), cons(X, XS)) -> sel(N, activate(XS)) from(X) -> n__from(X) take(X1, X2) -> n__take(X1, X2) activate(n__from(X)) -> from(X) activate(n__take(X1, X2)) -> take(X1, X2) activate(X) -> X Q is empty. ---------------------------------------- (1) QTRSRRRProof (EQUIVALENT) Used ordering: from/1(YES) cons/2(YES,YES) n__from/1)YES( s/1(YES) head/1(YES) 2nd/1(YES) activate/1(YES) take/2(YES,YES) 0/0) nil/0) n__take/2(YES,YES) sel/2(YES,YES) Quasi precedence: 2nd_1 > [from_1, activate_1, take_2] > s_1 > cons_2 > n__take_2 2nd_1 > [from_1, activate_1, take_2] > [0, nil] > n__take_2 2nd_1 > head_1 > n__take_2 sel_2 > [from_1, activate_1, take_2] > s_1 > cons_2 > n__take_2 sel_2 > [from_1, activate_1, take_2] > [0, nil] > n__take_2 Status: from_1: multiset status cons_2: multiset status s_1: multiset status head_1: multiset status 2nd_1: multiset status activate_1: multiset status take_2: multiset status 0: multiset status nil: multiset status n__take_2: multiset status sel_2: [1,2] With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: from(X) -> cons(X, n__from(s(X))) head(cons(X, XS)) -> X 2nd(cons(X, XS)) -> head(activate(XS)) take(0, XS) -> nil take(s(N), cons(X, XS)) -> cons(X, n__take(N, activate(XS))) sel(0, cons(X, XS)) -> X sel(s(N), cons(X, XS)) -> sel(N, activate(XS)) from(X) -> n__from(X) take(X1, X2) -> n__take(X1, X2) activate(n__take(X1, X2)) -> take(X1, X2) activate(X) -> X ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: activate(n__from(X)) -> from(X) Q is empty. ---------------------------------------- (3) QTRSRRRProof (EQUIVALENT) Used ordering: Knuth-Bendix order [KBO] with precedence:activate_1 > from_1 > n__from_1 and weight map: activate_1=1 n__from_1=1 from_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: activate(n__from(X)) -> from(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