YES TRS: admit(x,nil()) -> nil() admit(x,.(u,.(v,.(w(),z)))) -> cond(=(sum(x,u,v),w()),.(u,.(v,.(w(),admit(carry(x,u,v),z))))) cond(true(),y) -> y max/plus interpretations on N: admit_A(x1,x2) = max{28, 35 + x1, 7 + x2} admit#_A(x1,x2) = max{0, -2 + x1, -24 + x2} nil_A = 36 nil#_A = 1 ._A(x1,x2) = max{38, -4 + x1, 9 + x2} .#_A(x1,x2) = max{24, -29, 1} w_A = 3 w#_A = 2 cond_A(x1,x2) = max{55, 62 + x1, x2} cond#_A(x1,x2) = max{32, 31 + x1, -3} =_A(x1,x2) = max{1, -7 + x1, -7} =#_A(x1,x2) = max{32, 23 + x1, 32} sum_A(x1,x2,x3) = max{1, -26 + x1, -52 + x2, -43 + x3} sum#_A(x1,x2,x3) = max{31, 24, -29, -29} carry_A(x1,x2,x3) = max{1, -27 + x1, -34, -34} carry#_A(x1,x2,x3) = max{32, -29, -29, -29} true_A = 0 true#_A = 0 precedence: admit > . = cond = = = carry > nil = w = sum = true