Astral_internal.ListsSingly-linked list parametrised by a sort S and field F.
module ID = InductiveDefinitioninclude module type of struct include ID endtype t = InductiveDefinition.t = {name : string;header : SL.Variable.t list;base_cases : SL.t list;inductive_cases : SL.t list;}include Datatype_sig.PRINTABLE with type t := tinclude Datatype_sig.SHOW with type t := tval pp : Stdlib.Format.formatter -> t -> unitOutput to formatter
val print : ?prefix:string -> t -> unitOutput to stdout.
val show_option : t option -> stringval print_option : ?prefix:string -> t option -> unitval dump : string -> t -> unitDump to file given by filename
val show_list : ?separator:string -> t list -> stringval pp_list : Stdlib.Format.formatter -> t list -> unitval print_list : ?separator:string -> ?prefix:string -> t list -> unitinclude Datatype_sig.COMPARABLE with type t := tinclude Datatype_sig.COMPARISON with type t := tinclude Datatype_sig.COLLECTIONS with type t := tmodule Set = ID.SetSet over type t
module MonoList = ID.MonoListMonomorphic list over type t
module Map = ID.MapPolymorphic map from t to 'a
module MonoMap = ID.MonoMapMonomorphic map from t to Data.t
val hash : t -> intval name : t -> stringval header : t -> SL.Variable.t listReturn a list of formula used in definition.
val show : t -> stringval mk : string -> SL.Variable.t list -> SL.t -> tval arity : t -> intval fields : t -> MemoryModel.Field.t listval dependencies : t -> string listReturn names of predicates used in inductive cases.
val is_ite : t -> boolCreate a call of the given inductive definitions.
If not parameters are provided, formal parameters will be used
val smt2_decl : t -> stringval ls : ID.tSingly-linked list
val ls_two_plus : ID.tSingly-linked list of length 2+
val dls : ID.tDoubly-linked list
val dls_simple : ID.tThree-parameter DLS
val dls_simple_two_plus : ID.tThree-parameter DLS
val dls_three_plus : ID.tDoubly-linked list of length 3+
val nls : ID.tval nls_two_plus : ID.t