(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* 'a val error_wrong_numarg_constructor_loc : loc -> env -> constructor -> int -> 'a val error_wrong_numarg_inductive_loc : loc -> env -> inductive -> int -> 'a val error_bad_constructor_loc : loc -> constructor -> inductive -> 'a val error_bad_pattern_loc : loc -> constructor -> constr -> 'a val error_wrong_predicate_arity_loc : loc -> env -> constr -> constr -> constr -> 'a val error_needs_inversion : env -> constr -> types -> 'a val set_impossible_default_clause : constr * types -> unit (*s Compilation of pattern-matching. *) type alias_constr = | DepAlias | NonDepAlias type dep_status = KnownDep | KnownNotDep | DepUnknown type tomatch_type = | IsInd of types * inductive_type * name list | NotInd of constr option * types type tomatch_status = | Pushed of ((constr * tomatch_type) * int list * (name * dep_status)) | Alias of (constr * constr * alias_constr * constr) | Abstract of rel_declaration module type S = sig val compile_cases : loc -> case_style -> (type_constraint -> env -> evar_map ref -> rawconstr -> unsafe_judgment) * evar_map ref -> type_constraint -> env -> rawconstr option * tomatch_tuples * cases_clauses -> unsafe_judgment end module Cases_F(C : Coercion.S) : S