// Purpose: check that recursive procedures are not allowed
// Description: an empty module with a recursive procedure
// Expectation: There should be a compilation error saying that recursive procedures are not allowed
// Validation: removing the recursive procedure check should result in an error on the solver side, if you added a trivial check.

module main {
    procedure f(x: integer) returns (y: integer) {
        var tmp: integer;
        call (tmp) = f(x - 1);
        y = if (x <= 0) then 0 else tmp + 1;
    }
}
