aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/entries.mli5
-rw-r--r--kernel/indtypes.ml6
2 files changed, 7 insertions, 4 deletions
diff --git a/kernel/entries.mli b/kernel/entries.mli
index 303d27d355..1a27aa9f6a 100644
--- a/kernel/entries.mli
+++ b/kernel/entries.mli
@@ -51,7 +51,10 @@ type mutual_inductive_entry = {
mind_entry_inds : one_inductive_entry list;
mind_entry_polymorphic : bool;
mind_entry_universes : Univ.universe_context;
- mind_entry_private : bool option }
+ mind_entry_private : bool option;
+ mind_entry_check_positivity : bool;
+ (** [false] if positivity is to be assumed. *)
+}
(** {6 Constants (Definition/Axiom) } *)
type proof_output = constr Univ.in_universe_context_set * Declareops.side_effects
diff --git a/kernel/indtypes.ml b/kernel/indtypes.ml
index 72b615cc89..620c0f6d80 100644
--- a/kernel/indtypes.ml
+++ b/kernel/indtypes.ml
@@ -752,7 +752,7 @@ let compute_projections ((kn, _ as ind), u as indsp) n x nparamargs params
Array.of_list (List.rev kns),
Array.of_list (List.rev pbs)
-let build_inductive env p prv ctx env_ar params kn isrecord isfinite inds nmr recargs =
+let build_inductive env p prv ctx env_ar params kn isrecord isfinite inds nmr recargs is_checked =
let ntypes = Array.length inds in
(* Compute the set of used section variables *)
let hyps = used_section_variables env inds in
@@ -857,7 +857,7 @@ let build_inductive env p prv ctx env_ar params kn isrecord isfinite inds nmr re
mind_polymorphic = p;
mind_universes = ctx;
mind_private = prv;
- mind_checked_positive = true;
+ mind_checked_positive = is_checked;
}
(************************************************************************)
@@ -872,4 +872,4 @@ let check_inductive env kn mie =
build_inductive env mie.mind_entry_polymorphic mie.mind_entry_private
mie.mind_entry_universes
env_ar params kn mie.mind_entry_record mie.mind_entry_finite
- inds nmr recargs
+ inds nmr recargs mie.mind_entry_check_positivity