; @author Jonas Schöpf
; Ctrl example from examples/sumfrom.ctrs
(format LCTRS :smtlib 2.6)

(theory Ints)

(fun sum1 (-> Int Int Int))
(fun u (-> Int Int Int Int))

(rule (sum1 n m) (u n m 0))
(rule (u x i z) (u x (+ i 1) (+ z i)) :guard (<= i x))
(rule (u x i z) z :guard (not (<= i x)))
