Module Sidekick_base__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 : Sidekick_base.Base_types.Value.t Val_map.t;default : Sidekick_base.Base_types.Value.t;}
val default : t -> Sidekick_base.Base_types.Value.tval cases_list : t -> (Sidekick_base.Base_types.Value.t list * Sidekick_base.Base_types.Value.t) listval make : default:Sidekick_base.Base_types.Value.t -> (Sidekick_base.Base_types.Value.t list * Sidekick_base.Base_types.Value.t) list -> t