kdrag.kernel.define_simple
- kdrag.kernel.define_simple(name: str, args: list[ExprRef], body: ExprRef) FuncDeclRef
A simple non recursive definition is a conservative extension https://en.wikipedia.org/wiki/Conservative_extension
>>> x = smt.Int("x") >>> define_simple("mysucc9034", [x], x + 1) mysucc9034 >>> f = smt.Function("f102", smt.IntSort(), smt.IntSort()) >>> define_simple("f102", [x], f(x)) Traceback (most recent call last): ... ValueError: ('Symbol appears in it's own definition. This is not a simple definition and requires further checks for consistency', f102, f102(x))
- Parameters:
name (str)
args (list[ExprRef])
body (ExprRef)
- Return type:
FuncDeclRef