aboutsummaryrefslogtreecommitdiff
path: root/vernac/comDefinition.mli
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2019-06-06 06:09:24 +0200
committerEmilio Jesus Gallego Arias2019-06-24 20:55:09 +0200
commit8b903319eae4d645f9385e8280d04d18a4f3a2bc (patch)
tree97f39249d6eef4c4fda252ca74d0a35ade40caef /vernac/comDefinition.mli
parent70a11c78e790d7f2f4175d1002e08f79d3ed8486 (diff)
[lemmas] [proof] Split proof kinds into per-layer components.
We split `{goal,declaration,assumption}_kind` into their components. This makes sense as each part of this triple is handled by a different layer, namely: - `polymorphic` status: necessary for the lower engine layers; - `locality`: only used in `vernac` top-level constants - `kind`: merely used for cosmetic purposes [could indeed be removed / pushed upwards] We also profit from this refactoring to add some named parameters to the top-level definition API which is quite parameter-hungry. More refactoring is possible and will come in further commits, in particular this is a step towards unifying the definition / lemma save path.
Diffstat (limited to 'vernac/comDefinition.mli')
-rw-r--r--vernac/comDefinition.mli8
1 files changed, 5 insertions, 3 deletions
diff --git a/vernac/comDefinition.mli b/vernac/comDefinition.mli
index 256abed6a1..ec59916e3c 100644
--- a/vernac/comDefinition.mli
+++ b/vernac/comDefinition.mli
@@ -16,10 +16,12 @@ open Constrexpr
(** {6 Definitions/Let} *)
val do_definition
- : program_mode:bool
+ : program_mode:bool
-> ?hook:DeclareDef.Hook.t
- -> Id.t
- -> definition_kind
+ -> name:Id.t
+ -> scope:locality
+ -> poly:bool
+ -> kind:definition_object_kind
-> universe_decl_expr option
-> local_binder_expr list
-> red_expr option