(meta-info (comment "Ctrl example from examples-transformed/student/sum02.ctrs")) (format LCTRS :logic QF_LIA) (fun ditch_globals 1 :sort (Unit Result)) (fun return 3 :sort (Int Int Int Unit)) (fun return1 1 :sort (Int Result)) (fun u 3 :sort (Int Int Int Unit)) (fun sum1 3 :sort (Int Int Int Unit)) (rule (ditch_globals (return x y z)) (return1 z) :vars ((x Int) (y Int) (z Int))) (rule (u num i answer) (return i answer answer) :guard (not (<= i num)) :vars ((num Int) (i Int) (answer Int))) (rule (u num i answer) (u num (+ i 1) (+ answer i)) :guard (<= i num) :vars ((num Int) (i Int) (answer Int))) (rule (sum1 num i answer) (u num 0 0) :guard (not (< num 0)) :vars ((num Int) (i Int) (answer Int))) (rule (sum1 num i answer) (return i answer 0) :guard (< num 0) :vars ((num Int) (i Int) (answer Int)))