aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--kernel/declarations.mli1
-rw-r--r--kernel/declareops.ml4
-rw-r--r--kernel/indtypes.ml1
3 files changed, 5 insertions, 1 deletions
diff --git a/kernel/declarations.mli b/kernel/declarations.mli
index 27c1c3f3f..ef3e1bb6a 100644
--- a/kernel/declarations.mli
+++ b/kernel/declarations.mli
@@ -184,6 +184,7 @@ type mutual_inductive_body = {
mind_private : bool option; (** allow pattern-matching: Some true ok, Some false blocked *)
+ mind_checked_positive : bool; (** [false] when the mutual-inductive was assumed to be well-founded, bypassing the positivity checker. *)
}
(** {6 Module declarations } *)
diff --git a/kernel/declareops.ml b/kernel/declareops.ml
index a7051d5c1..870aef1d2 100644
--- a/kernel/declareops.ml
+++ b/kernel/declareops.ml
@@ -258,7 +258,9 @@ let subst_mind_body sub mib =
mind_packets = Array.smartmap (subst_mind_packet sub) mib.mind_packets ;
mind_polymorphic = mib.mind_polymorphic;
mind_universes = mib.mind_universes;
- mind_private = mib.mind_private }
+ mind_private = mib.mind_private;
+ mind_checked_positive = mib.mind_checked_positive;
+ }
let inductive_instance mib =
if mib.mind_polymorphic then
diff --git a/kernel/indtypes.ml b/kernel/indtypes.ml
index 92e121402..72b615cc8 100644
--- a/kernel/indtypes.ml
+++ b/kernel/indtypes.ml
@@ -857,6 +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;
}
(************************************************************************)