YES TRS: half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) lastbit(0()) -> 0() lastbit(s(0())) -> s(0()) lastbit(s(s(x))) -> lastbit(x) conv(0()) -> cons(nil(),0()) conv(s(x)) -> cons(conv(half(s(x))),lastbit(s(x))) max/plus interpretations on N: half_A(x1) = max{13, -1 + x1} half#_A(x1) = max{14, -1} 0_A = 11 0#_A = 13 s_A(x1) = max{21, 8 + x1} s#_A(x1) = max{0, 14} lastbit_A(x1) = max{21, -22 + x1} lastbit#_A(x1) = max{8, -7 + x1} conv_A(x1) = max{37, -6 + x1} conv#_A(x1) = max{18, 8 + x1} cons_A(x1,x2) = max{16, 16, 16 + x2} cons#_A(x1,x2) = max{17, 15, 19} nil_A = 1 nil#_A = 12 precedence: conv > half > s > lastbit = cons = nil > 0