From ccae6b2053970a0bd587bb48c2d30fc235de4118 Mon Sep 17 00:00:00 2001 From: Gaëtan Gilbert Date: Fri, 7 Jun 2019 10:54:14 +0200 Subject: restrict minimization to set to flexibles Split from #10331 Fix part of #8196 Replaces #9343 --- doc/changelog/02-specification-language/10657-minim-toset-flex.rst | 3 +++ engine/univMinim.ml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 doc/changelog/02-specification-language/10657-minim-toset-flex.rst diff --git a/doc/changelog/02-specification-language/10657-minim-toset-flex.rst b/doc/changelog/02-specification-language/10657-minim-toset-flex.rst new file mode 100644 index 0000000000..8983e162fb --- /dev/null +++ b/doc/changelog/02-specification-language/10657-minim-toset-flex.rst @@ -0,0 +1,3 @@ +- Changed heuristics for universe minimization to :g:`Set`: only + minimize flexible universes (`#10657 `_, + by Gaëtan Gilbert with help from Maxime Dénès and Matthieu Sozeau). diff --git a/engine/univMinim.ml b/engine/univMinim.ml index 30fdd28997..fc0770cf75 100644 --- a/engine/univMinim.ml +++ b/engine/univMinim.ml @@ -276,7 +276,7 @@ let normalize_context_set ~lbound g ctx us algs weak = Constraint.partition (fun (l,d,r) -> d == Le && (Level.equal l lbound || Level.is_sprop l)) csts in let smallles = if get_set_minimization () - then Constraint.filter (fun (l,d,r) -> LSet.mem r ctx && not (Level.is_sprop l)) smallles + then Constraint.filter (fun (l,d,r) -> LMap.mem r us && not (Level.is_sprop l)) smallles else Constraint.empty in let csts, partition = -- cgit v1.2.3