Module Model.Fun_interpretation
Model for function symbols.
Function models are a finite map from argument tuples to values, accompanied with a default value that every other argument tuples map to. In other words, it's of the form:
lambda x y. if (x=vx1,y=vy1) then v1 else if … then … else vdefault
type t={cases : Base_types.Value.t Val_map.t;default : Base_types.Value.t;}
val default : t -> Base_types.Value.tval cases_list : t -> (Base_types.Value.t list * Base_types.Value.t) listval make : default:Base_types.Value.t -> (Base_types.Value.t list * Base_types.Value.t) list -> t