sig
type ('a, 'b) t
val name : ('a, 'b) CamlInterface.Rel2.t -> string
val create :
?k1:'a CamlInterface.Univ.key ->
?k2:'b CamlInterface.Univ.key -> string -> ('a, 'b) CamlInterface.Rel2.t
val get :
('a, 'b) CamlInterface.Rel2.t ->
CamlInterface.Logic.T.t -> ('a * 'b) option
val make :
('a, 'b) CamlInterface.Rel2.t -> 'a -> 'b -> CamlInterface.Logic.T.t
val apply :
('a, 'b) CamlInterface.Rel2.t ->
CamlInterface.Logic.T.t ->
CamlInterface.Logic.T.t -> CamlInterface.Logic.T.t
val find :
CamlInterface.Logic.DB.t ->
('a, 'b) CamlInterface.Rel2.t -> ('a * 'b) list
val subset :
CamlInterface.Logic.DB.t ->
('a, 'b) CamlInterface.Rel2.t -> ('a, 'b) CamlInterface.Rel2.t -> unit
val transitive :
CamlInterface.Logic.DB.t -> ('a, 'a) CamlInterface.Rel2.t -> unit
val tc_of :
CamlInterface.Logic.DB.t ->
tc:('a, 'a) CamlInterface.Rel2.t -> ('a, 'a) CamlInterface.Rel2.t -> unit
val reflexive :
CamlInterface.Logic.DB.t -> ('a, 'a) CamlInterface.Rel2.t -> unit
val symmetry :
CamlInterface.Logic.DB.t -> ('a, 'a) CamlInterface.Rel2.t -> unit
val from_fun :
CamlInterface.Logic.DB.t ->
('a, 'b) CamlInterface.Rel2.t -> ('a -> 'b -> bool) -> unit
val add_list :
CamlInterface.Logic.DB.t ->
('a, 'b) CamlInterface.Rel2.t -> ('a * 'b) list -> unit
val to_string : ('a, 'b) CamlInterface.Rel2.t -> string
val fmt : Format.formatter -> ('a, 'b) CamlInterface.Rel2.t -> unit
end