; @author Jonas Schöpf ; Ctrl example from examples/sum_decl.ctrs (format LCTRS :smtlib 2.6) (theory Ints) (fun sum3 (-> Int Int Int)) (fun u_3 (-> Int Int Int)) (fun sum_decl (-> Int Int)) (fun sum (-> Int Int)) (rule (sum3 x n) (+ n (sum3 x (+ n 1))) :guard (>= x n)) (rule (sum3 x n) 0 :guard (< x n)) (rule (u_3 z i) z :guard (<= i 0)) (rule (u_3 z i) (u_3 (+ z i) (- i 1)) :guard (> i 0)) (rule (sum_decl x) (u_3 0 x)) (rule (sum x) (+ x (sum (- x 1))) :guard (<= 0 (- x 1))) (rule (sum x) 0 :guard (<= x 0))