electrod

Formal analysis for the Electrod formal pivot language
IN THIS PACKAGE
type t

Virtually: a map between relation names and sets of tuples.

val empty : t

Constructor.

val add : Name.t -> Tuple_set.t -> t -> t

Adds an association to the instance. The name must not be in the instance already.

val mem : Name.t -> t -> bool

Checks whether a name is already bound in the map.

Accessors

val get_exn : Name.t -> t -> Tuple_set.t

May raise Not_found. IT MAY BE BETTER TO RETURN AN EXACT SCOPE OR EVEN A RELATION (TO BE DECIDED WHEN INSTANCES ARE USED IN THE TRANSLATION)

val get : Name.t -> t -> Tuple_set.t option

May rather return None. IT MAY BE BETTER TO RETURN AN EXACT SCOPE OR EVEN A RELATION (TO BE DECIDED WHEN INSTANCES ARE USED IN THE TRANSLATION)

val to_list : t -> (Name.t * Tuple_set.t) list

Returns the map as an association list. IT MAY BE BETTER TO RETURN AN EXACT SCOPE OR EVEN A RELATION (TO BE DECIDED WHEN INSTANCES ARE USED IN THE TRANSLATION)

val to_map : t -> Tuple_set.t Name.Map.t
include Intf.Print.S with type t := t
val pp : t Fmtc.t
val to_string : t -> string