module Term : Term.I
type nonrec t = [
  1. | Term.t
  2. | `Or of Term.t Base.list
]
include Form.I with module Literal := Term.Literal and type t := t
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val t_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> t
val __t_of_sexp__ : Ppx_sexp_conv_lib.Sexp.t -> t
include Properties.Conjunctable with type t := t
val and_ : t list -> t
include Properties.Disjunctable with type t := t
val or_ : t list -> t
include Properties.Negatable with type t := t
val not_ : t -> t
include Properties.NeedsValidation with type t := t
val validate : t -> t
include Properties.Executable with type t := t
val eval : t -> bool array -> bool option
include PrettyPrint.I with type t := t
include PrettyPrint.Inspectable with type t := t
val to_pretty_string : ?style:PrettyPrint.Style.Infix.t -> t -> string
include PrettyPrint.Sexpable with type t := t
val to_pretty_sexp : ?style:PrettyPrint.Style.Prefix.t -> t -> Base.Sexp.t
val of_pretty_sexp : ?style:PrettyPrint.Style.Prefix.t -> Base.Sexp.t -> t