package electrod

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

Module Libelectrod.ScopeSource

Relation scopes.

Sourcetype relation = private
  1. | Plain_relation of Tuple_set.t * Tuple_set.t
    (*

    inv: inf in sup

    *)
  2. | Partial_function of int * Tuple_set.t
    (*

    int is the domain arity (inv: >= 0); inf = empty

    *)
  3. | Total_function of int * Tuple_set.t
    (*

    int is the domain arity (inv: >= 0); inf = empty

    *)
Sourcetype t = private
  1. | Exact of Tuple_set.t
    (*

    means: lower bound = upper bound

    *)
  2. | Inexact of relation

Constructors

Sourceval exact : Tuple_set.t -> t
Sourceval plain_relation : Tuple_set.t -> Tuple_set.t -> relation
Sourceval partial_function : int -> Tuple_set.t -> relation
Sourceval total_function : int -> Tuple_set.t -> relation
Sourceval inexact : relation -> t
Sourceval equal : t -> t -> bool
Sourceval included_in : Tuple_set.t -> t -> bool

included_in ts scope tells whether ts is in the scope (meaning it also contains the lower bound of the scope if the latter is inexact.)

Sourceval inf : t -> Tuple_set.t

Return the inf and sup bounds of the scope.

Sourceval sup : t -> Tuple_set.t
Sourceval must : t -> Tuple_set.t

Return the must and may (= sup - inf; computation is cached) bounds of the scope.

Sourceval may : t -> Tuple_set.t
Sourceval is_partial : t -> bool
Sourceval inferred_arity : t -> int

0 if the arity cannot be inferred (= is unknown), n > 0 otherwise.

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

Innovation. Community. Security.