sig
  type ('a, 'b) t
  val mapx : ('a, 'b) PDMappe.t -> ('a, 'b) PMappe.t
  val mapy : ('a, 'b) PDMappe.t -> ('b, 'a) PMappe.t
  val is_empty : ('a, 'b) PDMappe.t -> bool
  val empty : ('-> '-> int) -> ('-> '-> int) -> ('a, 'b) PDMappe.t
  val add : '-> '-> ('a, 'b) PDMappe.t -> ('a, 'b) PDMappe.t
  val y_of_x : '-> ('a, 'b) PDMappe.t -> 'b
  val x_of_y : '-> ('b, 'a) PDMappe.t -> 'b
  val remove : '-> ('a, 'b) PDMappe.t -> ('a, 'b) PDMappe.t
  val removex : '-> ('a, 'b) PDMappe.t -> ('a, 'b) PDMappe.t
  val removey : '-> ('b, 'a) PDMappe.t -> ('b, 'a) PDMappe.t
  val memx : '-> ('a, 'b) PDMappe.t -> bool
  val memy : '-> ('b, 'a) PDMappe.t -> bool
  val merge : ('a, 'b) PDMappe.t -> ('a, 'b) PDMappe.t -> ('a, 'b) PDMappe.t
  val common : ('a, 'b) PDMappe.t -> ('a, 'b) PDMappe.t -> ('a, 'b) PDMappe.t
  val intersetx : ('a, 'b) PDMappe.t -> 'PSette.t -> ('a, 'b) PDMappe.t
  val intersety : ('a, 'b) PDMappe.t -> 'PSette.t -> ('a, 'b) PDMappe.t
  val diffsetx : ('a, 'b) PDMappe.t -> 'PSette.t -> ('a, 'b) PDMappe.t
  val diffsety : ('a, 'b) PDMappe.t -> 'PSette.t -> ('a, 'b) PDMappe.t
  val iter : ('-> '-> unit) -> ('a, 'b) PDMappe.t -> unit
  val fold : ('-> '-> '-> 'c) -> ('a, 'b) PDMappe.t -> '-> 'c
  val setx : ('a, 'b) PDMappe.t -> 'PSette.t
  val sety : ('a, 'b) PDMappe.t -> 'PSette.t
  val equalx : ('a, 'b) PDMappe.t -> ('a, 'b) PDMappe.t -> bool
  val equaly : ('a, 'b) PDMappe.t -> ('a, 'b) PDMappe.t -> bool
  val subsetx : ('a, 'b) PDMappe.t -> ('a, 'b) PDMappe.t -> bool
  val subsety : ('a, 'b) PDMappe.t -> ('a, 'b) PDMappe.t -> bool
  val cardinal : ('a, 'b) PDMappe.t -> int
  val print :
    ?first:(unit, Format.formatter, unit) Pervasives.format ->
    ?sep:(unit, Format.formatter, unit) Pervasives.format ->
    ?last:(unit, Format.formatter, unit) Pervasives.format ->
    ?firstbind:(unit, Format.formatter, unit) Pervasives.format ->
    ?sepbind:(unit, Format.formatter, unit) Pervasives.format ->
    ?lastbind:(unit, Format.formatter, unit) Pervasives.format ->
    (Format.formatter -> '-> unit) ->
    (Format.formatter -> '-> unit) ->
    Format.formatter -> ('a, 'b) PDMappe.t -> unit
end