module Cover_set:sig
..end
typecst =
Ind_cst.t
typeterm =
Logtk.Term.t
type
case
type
t
module Case:sig
..end
val pp : t CCFormat.printer
val ty : t -> Logtk.Type.t
val top : t -> cst
val declarations : t -> (Logtk.ID.t * Logtk.Type.t) Sequence.t
declarations set
returns a list of type declarations that should
be made if set
is new (declare the top cst and its subcases)val cases : ?which:[ `All | `Base | `Rec ] -> t -> case Sequence.t
val sub_constants : t -> cst Sequence.t
val make : ?cover_set_depth:int -> depth:int -> Logtk.Type.t -> t
a set of ground terms [t1,...,tn]
with fresh
constants inside (that are not declared as inductive!) such that
bigor_{i in 1...n} t=ti
is the skolemized version of the
exhaustivity axiom on t
's type.
cover_set_depth
: the depth of each case, that is, the number of
constructor between the root of terms and leaf constants. default 1
.depth
: the induction depth for the top constant in the coverset