YES proof of CiME_04_list-sum-prod-assoc.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, 71 ms] (2) QTRS (3) RisEmptyProof [EQUIVALENT, 0 ms] (4) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: +(x, 0) -> x +(0, x) -> x +(s(x), s(y)) -> s(s(+(x, y))) +(+(x, y), z) -> +(x, +(y, z)) *(x, 0) -> 0 *(0, x) -> 0 *(s(x), s(y)) -> s(+(*(x, y), +(x, y))) *(*(x, y), z) -> *(x, *(y, z)) sum(nil) -> 0 sum(cons(x, l)) -> +(x, sum(l)) prod(nil) -> s(0) prod(cons(x, l)) -> *(x, prod(l)) Q is empty. ---------------------------------------- (1) QTRSRRRProof (EQUIVALENT) Used ordering: Quasi precedence: [*_2, prod_1] > [0, sum_1, nil] > +_2 > s_1 Status: +_2: [1,2] 0: multiset status s_1: multiset status *_2: [1,2] sum_1: multiset status nil: multiset status cons_2: multiset status prod_1: [1] With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: +(x, 0) -> x +(0, x) -> x +(s(x), s(y)) -> s(s(+(x, y))) +(+(x, y), z) -> +(x, +(y, z)) *(x, 0) -> 0 *(0, x) -> 0 *(s(x), s(y)) -> s(+(*(x, y), +(x, y))) *(*(x, y), z) -> *(x, *(y, z)) sum(nil) -> 0 sum(cons(x, l)) -> +(x, sum(l)) prod(nil) -> s(0) prod(cons(x, l)) -> *(x, prod(l)) ---------------------------------------- (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