sig
  module Expr0 :
    sig
      module Bool :
        sig
          val to_lconjunction :
            ('a, [> 'Bddapron.Env.typ ] as 'b,
             [> 'Bddapron.Env.typdef ] as 'c, 'd)
            Bddapron.Env.O.t ->
            ('a, ('a, 'b, 'c, 'd) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
            'Bddapron.Expr0.Bool.t ->
            ('Bddapron.Expr0.Bool.t * 'Bddapron.Expr0.Bool.t) list
          val forget :
            ('a, 'b, 'c, 'd) Bddapron.Domain0.man ->
            ('e, [> 'Bddapron.Env.typ ] as 'f,
             [> 'Bddapron.Env.typdef ] as 'g, 'h)
            Bddapron.Env.O.t ->
            ('e, ('e, 'f, 'g, 'h) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
            'Bddapron.Expr0.Bool.t -> 'e list -> 'Bddapron.Expr0.Bool.t
        end
    end
  module Expr1 :
    sig
      module Bool :
        sig
          val to_lconjunction :
            ('a,
             ('a, [> 'Bddapron.Env.typ ] as 'b,
              [> 'Bddapron.Env.typdef ] as 'c, 'd)
             Bddapron.Env.O.t)
            Bddapron.Cond.O.t ->
            ('a, ('a, 'b, 'c, 'd) Bddapron.Env.O.t) Bddapron.Expr1.O.Bool.t ->
            (('a, ('a, 'b, 'c, 'd) Bddapron.Env.O.t) Bddapron.Expr1.O.Bool.t *
             ('a, ('a, 'b, 'c, 'd) Bddapron.Env.O.t) Bddapron.Expr1.O.Bool.t)
            list
          val forget :
            ('a, 'b, 'c, 'd) Bddapron.Domain0.man ->
            ('e,
             ('e, [> 'Bddapron.Env.typ ] as 'f,
              [> 'Bddapron.Env.typdef ] as 'g, 'h)
             Bddapron.Env.O.t)
            Bddapron.Cond.O.t ->
            ('e, ('e, 'f, 'g, 'h) Bddapron.Env.O.t) Bddapron.Expr1.O.Bool.t ->
            'e list ->
            ('e, ('e, 'f, 'g, 'h) Bddapron.Env.O.t) Bddapron.Expr1.O.Bool.t
        end
    end
end