diff options
-rw-r--r-- | kernel/declarations.mli | 1 | ||||
-rw-r--r-- | kernel/declareops.ml | 4 | ||||
-rw-r--r-- | kernel/indtypes.ml | 1 |
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; } (************************************************************************) |