module Bdd:Finite-type expressions/properties on top of CUDDsig..end
Higher-level interface relying on Cudd interface for manipulating
BDDs/MTBDDs:
Bdd.Reg: manipulating arrays of BDDs as CPU register, including
most ALU (Arithmetic and Logical Unit) operations;Bdd.Int: signed/unsigned integers encoded as arrays of BDDs;Bdd.Enum: enumerated types, with management of labels and types (requires Bdd.Env);Bdd.Output: outputing BDDs/MTBDDs (low-level)Bdd.Env: environment defining finite-type variables and user-defined enumerated types, and mapping them to BDDs indices;Bdd.Expr0: general finite-type expressions;Bdd.Domain0: Boolean formula seen as an (abstract) domainBdd.Expr1, Bdd.Domain1: extends Bdd.Expr0 and Bdd.Domain0 by incorporating
normalized environments.Output: Output of BDDs/MTBDDsmodule Output:sig..end
Normalform: Utility types and functions for normalizationmodule Normalform:sig..end
Reg: Bounded unsigned integer expressions with BDDsmodule Reg:sig..end
Env: Normalized managers/environmentsmodule Env:sig..end
Int: Bounded integer expressions with BDDsmodule Int:sig..end
Enum: Enumerated expressions with BDDsmodule Enum:sig..end
Cond: Normalized condition environments (base module)module Cond:sig..end
Decompose: Separation of Boolean formula in purely Boolean/conditional partsmodule Decompose:sig..end
Expr0: Finite-type expressions with BDDsmodule Expr0:sig..end
Expr1: Finite-type expressions with normalized environmentsmodule Expr1:sig..end
Domain0: Boolean (abstract) domainmodule Domain0:sig..end
Domain1: Boolean (abstract) domain with normalized environmentmodule Domain1:sig..end