package frama-c

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

A notion of cardinality for mapset lattice.

include Lattice_with_cardinality
include Lattice_type.With_Cardinal_One
type t
val cardinal_zero_or_one : t -> bool
include Lattice_type.With_Diff_One with type t := t
val diff_if_one : t -> t -> t

diff_if_one t1 t2 is an over-approximation of t1-t2.

  • returns

    t1 if t2 is not a singleton.

include Lattice_type.With_Enumeration with type t := t
val fold_enum : (t -> 'a -> 'a) -> t -> 'a -> 'a

Fold on the elements of the value one by one if possible. Raises Abstract_interp.Not_less_than when there is an infinite number of elements to enumerate.

val cardinal_less_than : t -> int -> int

Raises Abstract_interp.Not_less_than whenever the cardinal of the given lattice is strictly higher than the given integer.

type key
type v
val find_lonely_binding : t -> key * v

If t is a singleton map binding k to v, and if cardinal_zero_or_one v holds, returns the pair (k,v).

  • raises Not_found

    otherwise.