diff options
author | Gaëtan Gilbert <gaetan.gilbert@skyskimmer.net> | 2017-09-20 19:45:43 +0200 |
---|---|---|
committer | Gaëtan Gilbert <gaetan.gilbert@skyskimmer.net> | 2017-11-25 14:18:35 +0100 |
commit | 280c922fc55b57c430cad721c83650a796a375fd (patch) | |
tree | 5f0c9c20a75532ba134bbde6f428facefceb5125 /engine/universes.ml | |
parent | c93d5094bff73498ec8fc02837e16cc5ce9103b6 (diff) |
Allow local universe renaming in Print.
Diffstat (limited to 'engine/universes.ml')
-rw-r--r-- | engine/universes.ml | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/engine/universes.ml b/engine/universes.ml index 459c53002..194de2cee 100644 --- a/engine/universes.ml +++ b/engine/universes.ml @@ -35,6 +35,21 @@ let universe_binders_of_global ref : universe_binders = let register_universe_binders ref l = universe_binders_table := Refmap.add ref l !universe_binders_table +type univ_name_list = Name.t Loc.located list + +let universe_binders_with_opt_names ref levels = function + | None -> universe_binders_of_global ref + | Some udecl -> + if Int.equal(List.length levels) (List.length udecl) + then + List.fold_left2 (fun acc (_,na) lvl -> match na with + | Anonymous -> acc + | Name na -> Names.Id.Map.add na lvl acc) + empty_binders udecl levels + else + CErrors.user_err ~hdr:"universe_binders_with_opt_names" + Pp.(str "Universe instance should have length " ++ int (List.length levels)) + (* To disallow minimization to Set *) let set_minimization = ref true |