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