aboutsummaryrefslogtreecommitdiff
path: root/kernel/type_errors.mli
diff options
context:
space:
mode:
authorMaxime Dénès2019-01-21 14:15:51 +0100
committerMaxime Dénès2019-01-21 14:15:51 +0100
commitb8da6225e3867408f5d1ad0c716618c4228a1ad2 (patch)
tree28bbb08c4500676b2eca478323243d867cf27c15 /kernel/type_errors.mli
parent05e2222e04323d11429d659b415750cf40e2babd (diff)
parent9c678306157b2c6199091709ef7bb067f724f80c (diff)
Merge PR #9027: Refactor checking of inductive types
Ack-by: SkySkimmer Reviewed-by: mattam82 Ack-by: maximedenes Ack-by: ppedrot
Diffstat (limited to 'kernel/type_errors.mli')
-rw-r--r--kernel/type_errors.mli19
1 files changed, 19 insertions, 0 deletions
diff --git a/kernel/type_errors.mli b/kernel/type_errors.mli
index 3fd40a7f42..3e954d6a8e 100644
--- a/kernel/type_errors.mli
+++ b/kernel/type_errors.mli
@@ -69,6 +69,25 @@ type type_error = (constr, types) ptype_error
exception TypeError of env * type_error
+(** The different kinds of errors that may result of a malformed inductive
+ definition. *)
+type inductive_error =
+ | NonPos of env * constr * constr
+ | NotEnoughArgs of env * constr * constr
+ | NotConstructor of env * Id.t * constr * constr * int * int
+ | NonPar of env * constr * int * constr * constr
+ | SameNamesTypes of Id.t
+ | SameNamesConstructors of Id.t
+ | SameNamesOverlap of Id.t list
+ | NotAnArity of env * constr
+ | BadEntry
+ | LargeNonPropInductiveNotInType
+ | BadUnivs
+
+exception InductiveError of inductive_error
+
+(** Raising functions *)
+
val error_unbound_rel : env -> int -> 'a
val error_unbound_var : env -> variable -> 'a