struct Z3::FuncInterp

Overview

What a model decided an uninterpreted function does: the argument lists it had to pin down, plus the else branch which answers for every other one. Z3 picks one of the values as that fallback, so the entries are only the exceptions to it.

The Ruby gem is a Hash from argument lists to values, with Hash's own default holding the else branch. Expressions can't be Hash keys here - see the Limitations section of the README - so this is a list of {args, value} pairs and #[] walks it.

Defined in:

z3/func_interp.cr

Constructors

Instance Method Summary

Constructor Detail


[View source]

Instance Method Detail

def [](*args) : AnyExpr #

What the function answers for these arguments, which for anything the model never had to decide is the else branch


[View source]
def arity #

[View source]
def decl : FuncDecl #

[View source]
def default : AnyExpr #

[View source]
def entries : Array(Tuple(Array(AnyExpr), AnyExpr)) #

[View source]
def inspect(io) #

[View source]
def size #

How many argument lists the model pinned down, not counting the else branch


[View source]
def to_s(io) #

[View source]