(meta-info (comment "Ctrl example from examples-transformed/student/sumfrom04.ctrs"))
(format LCTRS :logic QF_LIA)
(fun v 4 :sort (Int Int Int Int Unit))
(fun return 1 :sort (Int Unit))
(fun u 4 :sort (Int Int Int Int Unit))
(fun sum2 2 :sort (Int Int Unit))

(rule (v m n s i) (return s) :guard (not (<= i n)) :vars ((m Int) (n Int) (s Int) (i Int)))
(rule (v m n s i) (v m n (+ s i) (+ i 1)) :guard (<= i n) :vars ((m Int) (n Int) (s Int) (i Int)))
(rule (u m n s i) (v m n s i) :guard (not (> m n)) :vars ((m Int) (n Int) (s Int) (i Int)))
(rule (u m n s i) (return 0) :guard (> m n) :vars ((m Int) (n Int) (s Int) (i Int)))
(rule (sum2 m n) (u m n 0 m) :vars ((m Int) (n Int)))
