; @author Jonas Schöpf ; Ctrl example from examples/student/sum01.ctrs (format LCTRS :smtlib 2.6) (theory Ints) (sort Result) (fun return (-> Int Result)) (fun w (-> Int Result Result)) (fun sum (-> Int Result)) (rule (w x (return y)) (return (+ x y)) :var ((x Int) (y Int))) (rule (sum x) (w x (sum (- x 1))) :guard (<= 0 (- x 1)) :var ((x Int))) (rule (sum x) (return 0) :guard (<= x 0) :var ((x Int)))