package electrod

  1. Overview
  2. Docs
On This Page
  1. Accessors
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Libelectrod.DomainSource

The domain represents the set of relation declarations.

Sourcetype t

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

Sourceval empty : t

Constructor.

Sourceval add : Name.t -> Relation.t -> t -> t

Adds an asociation to the domain. The name must not be in the domain already.

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

Checks whether a name is already bound in the map.

Accessors

Sourceval get_exn : Name.t -> t -> Relation.t

May raise Not_found.

Sourceval get : Name.t -> t -> Relation.t option

May rather return None.

Sourceval univ_atoms : t -> Tuple_set.t

Returns the set of atoms in univ, represented as a Tuple_set.t

Sourceval to_list : t -> (Name.t * Relation.t) list

Returns the map as an association list

Sourceval of_list : (Name.t * Relation.t) list -> t
Sourceval equal : t -> t -> bool
Sourceval must : Name.t -> t -> Tuple_set.t

Returns the "may" and "must" tuple sets associated to a relation name.

Sourceval may : Name.t -> t -> Tuple_set.t
Sourceval sup : Name.t -> t -> Tuple_set.t
Sourceval musts : ?with_univ_and_ident:bool -> t -> (Name.t, Tuple_set.t) Containers.List.Assoc.t

Returns the association list between relation names and their "must" set.

Sourceval arities : t -> (Name.t, int) Containers.List.Assoc.t

Returns the association list between relation names and their arity.

Returns a new domain where atoms and relations have been renamed.

Sourceval update_domain_with_instance : t -> Instance.t -> t

For every entry in inst, update_domain_with_instance dom inst replaces the corresponding relation in dom with the exact scope given by inst.

include Intf.Print.S with type t := t
Sourceval pp : t Fmtc.t
Sourceval to_string : t -> string
OCaml

Innovation. Community. Security.