type t
val equal : t -> t -> Ppx_deriving_runtime.bool
val compare : t -> t -> Base.int
include Ppx_sexp_conv_lib.Sexpable.S with type Var.t := t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t
val hash_fold_t : Ppx_hash_lib.Std.Hash.state -> t -> Ppx_hash_lib.Std.Hash.state
val hash : t -> Ppx_hash_lib.Std.Hash.hash_value
include Base.Comparator.S with type Var.t := t
type comparator_witness
val comparator : (t, comparator_witness) Base.Comparator.comparator
val leaf_idx : Base.int
val inp : Base.int -> t
val out : Base.int -> t
val is_inp : t -> Base.bool
val is_out : t -> Base.bool
val index : t -> Base.int
val to_out : t -> t
val is_in_out_pair : t -> t -> Base.bool
type closer_to_root
=
| Left |
| Right |
| Equal | closer_to_root v0 v1 says whether, if v0 and v1 were to appear in the same, ordered IDD, v0 or v1 would appear closer to the root.
|
val closer_to_root : t -> t -> closer_to_root
val idx_strictly_closer_to_root : Base.int -> Base.int -> Base.bool
idx_strictly_closer_to_root idx0 idx1
is whether a variable with index idx0
is closer to the root of an ordered IDD than a variable with index idx1
val to_string : t -> Base.string