YES proof of Transformed_CSR_04_Ex1_Luc02b_Z.trs # AProVE Commit ID: c69e44bd14796315568835c1ffa2502984884775 jera 20211004 unpublished Termination w.r.t. Q of the given QTRS could be proven: (0) QTRS (1) QTRSRRRProof [EQUIVALENT, 73 ms] (2) QTRS (3) RisEmptyProof [EQUIVALENT, 0 ms] (4) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) first(0, Z) -> nil first(s(X), cons(Y, Z)) -> cons(Y, n__first(X, activate(Z))) sel(0, cons(X, Z)) -> X sel(s(X), cons(Y, Z)) -> sel(X, activate(Z)) from(X) -> n__from(X) first(X1, X2) -> n__first(X1, X2) activate(n__from(X)) -> from(X) activate(n__first(X1, X2)) -> first(X1, X2) activate(X) -> X Q is empty. ---------------------------------------- (1) QTRSRRRProof (EQUIVALENT) Used ordering: Quasi precedence: sel_2 > [from_1, first_2, activate_1] > cons_2 > n__first_2 > [n__from_1, s_1] sel_2 > [from_1, first_2, activate_1] > [0, nil] > [n__from_1, s_1] Status: from_1: multiset status cons_2: multiset status n__from_1: multiset status s_1: [1] first_2: multiset status 0: multiset status nil: multiset status n__first_2: multiset status activate_1: 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))) first(0, Z) -> nil first(s(X), cons(Y, Z)) -> cons(Y, n__first(X, activate(Z))) sel(0, cons(X, Z)) -> X sel(s(X), cons(Y, Z)) -> sel(X, activate(Z)) from(X) -> n__from(X) first(X1, X2) -> n__first(X1, X2) activate(n__from(X)) -> from(X) activate(n__first(X1, X2)) -> first(X1, X2) activate(X) -> X ---------------------------------------- (2) Obligation: Q restricted rewrite system: R is empty. Q is empty. ---------------------------------------- (3) RisEmptyProof (EQUIVALENT) The TRS R is empty. Hence, termination is trivially proven. ---------------------------------------- (4) YES