Module Lattice

Signature for lattices. Functors for common lattices.

module Pretty = GoblintCil.Pretty
exception Uncomparable
module type PO = sig ... end
module type S = sig ... end
exception TopValue

Exception raised by a topless lattice in place of a top value. Surrounding lattice functors may handle this on their own.

exception BotValue

Exception raised by a bottomless lattice in place of a bottom value. Surrounding lattice functors may handle this on their own.

exception Unsupported of string
val unsupported : string -> 'a
exception Invalid_widen of Pretty.doc
val assert_valid_widen : leq:('a -> 'b -> bool) -> pretty_diff:(unit -> ('c * 'd) -> Pretty.doc) -> 'e -> 'f -> unit
module UnitConf (N : Printable.Name) : sig ... end
module Unit : sig ... end
module NoBotTop : sig ... end
module Fake (Base : Printable.S) : sig ... end
module type PD = sig ... end
module FakeSingleton (Base : PD) : sig ... end
module Reverse (Base : S) : sig ... end
module HConsed (Base : S) (Arg : sig ... end) : sig ... end
module HashCached (M : S) : sig ... end
module FlatConf (Conf : Printable.LiftConf) (Base : Printable.S) : sig ... end
module Flat (Base : Printable.S) : sig ... end
module LiftConf (Conf : Printable.LiftConf) (Base : S) : sig ... end
module Lift (Base : S) : sig ... end
module LiftPO (Conf : Printable.LiftConf) (Base : PO) : sig ... end
module Lift2Conf (Conf : Printable.Lift2Conf) (Base1 : S) (Base2 : S) : sig ... end
module Lift2 (Base1 : S) (Base2 : S) : sig ... end
module ProdConf (C : Printable.ProdConfiguration) (Base1 : S) (Base2 : S) : sig ... end
module Prod (Base1 : S) (Base2 : S) : sig ... end
module ProdSimple (Base1 : S) (Base2 : S) : sig ... end
module Prod3 (Base1 : S) (Base2 : S) (Base3 : S) : sig ... end
module LiftBot (Base : S) : sig ... end
module LiftTop (Base : S) : sig ... end
module Liszt (Base : S) : sig ... end
module type Num = sig ... end
module ProdList (Base : S) (N : Num) : sig ... end
module Chain (P : Printable.ChainParams) : S with type t = int