YES Problem: comp(s,id()) -> s cons(one(),shift()) -> id() cons(comp(one(),s),comp(shift(),s)) -> s comp(one(),cons(s,t)) -> s comp(shift(),cons(s,t)) -> t comp(abs(s),t) -> abs(comp(s,cons(one(),comp(t,shift())))) comp(cons(s,t),u) -> cons(comp(s,u),comp(t,u)) comp(id(),s) -> s comp(comp(s,t),u) -> comp(s,comp(t,u)) Proof: WPO Processor: algebra: MSum weight function: w0 = 0 w(abs) = w(cons) = w(shift) = w(one) = w(comp) = w(id) = 0 status function: st(cons) = [1, 0] st(abs) = [0] st(shift) = st(one) = [] st(comp) = [0, 1] st(id) = [] subterm penalty function: sp(abs, 0) = 1 sp(cons, 1) = sp(cons, 0) = sp(comp, 1) = sp(comp, 0) = 0 subterm coefficient function: sc(abs, 0) = sc(cons, 1) = sc(cons, 0) = sc(comp, 1) = sc(comp, 0) = 1 weight status function: ws(comp) = pol ws(abs) = ws(cons) = ws(shift) = ws(one) = ws(id) = max precedence: comp > cons > abs ~ shift ~ one ~ id problem: Qed