mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-07 11:45:41 -05:00
41 lines
741 B
OCaml
41 lines
741 B
OCaml
|
|
(** {1 Hashconsed Types} *)
|
|
|
|
open Solver_types
|
|
|
|
type t = Solver_types.ty
|
|
type view = Solver_types.ty_view
|
|
type def = Solver_types.ty_def
|
|
|
|
val id : t -> int
|
|
val view : t -> view
|
|
|
|
val prop : t
|
|
val atomic : def -> t list -> t
|
|
|
|
val atomic_uninterpreted : ID.t -> t
|
|
|
|
val card : t -> ty_card
|
|
|
|
val is_prop : t -> bool
|
|
val is_uninterpreted : t -> bool
|
|
|
|
include Intf.EQ with type t := t
|
|
include Intf.ORD with type t := t
|
|
include Intf.HASH with type t := t
|
|
include Intf.PRINT with type t := t
|
|
|
|
module Tbl : CCHashtbl.S with type key = t
|
|
|
|
module Fun : sig
|
|
type t = fun_ty
|
|
|
|
val args : t -> ty list
|
|
val ret : t -> ty
|
|
val arity : t -> int
|
|
val unfold : t -> ty list * ty
|
|
|
|
val mk : ty list -> ty -> t
|
|
|
|
include Intf.PRINT with type t := t
|
|
end
|