Module Cover_set.Case

Inductive Case

An inductive case is a term that belongs to the coverset of some inductive constant. The inductive constant must fall into one of the cases in its coverset.

Every case starts with a constructor of its type.

type t = case
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val pp : t CCFormat.printer
val is_rec : t -> bool
val is_base : t -> bool
val to_term : t -> term
val to_lit : t -> Logtk.Literal.t
val same_cst : t -> t -> bool

true iff the two cases are on the same constant

val sub_constants : t -> cst list

All sub-constants that are subterms of a specific case

val skolems : t -> (Logtk.ID.t * Logtk.Type.t) list