YES (format LCTRS :logic QF_LIA) (fun return 1 :sort (Int Result)) (fun sum 1 :sort (Int Result)) (fun w 2 :sort (Int Result Result)) (rule (w x_0 (return y_1)) (return (+ x_0 y_1)) :vars ((x_0 Int) (y_1 Int))) (rule (sum x_2) (w x_2 (sum (- x_2 1))) :guard (<= 0 (- x_2 1)) :vars ((x_2 Int))) (rule (sum x_3) (return 0) :guard (<= x_3 0) :vars ((x_3 Int))) Confluent by Newmans Lemma with proof: terminating and no critical pairs Elapsed Time: 11.47 ms