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