aboutsummaryrefslogtreecommitdiff
path: root/vernac/declareDef.mli
diff options
context:
space:
mode:
authorGaëtan Gilbert2020-03-25 14:16:16 +0100
committerGaëtan Gilbert2020-03-25 14:16:16 +0100
commit6a84a302a54ffb9ae687f870c797e161a08280be (patch)
treee34cfeee4117fc207cb8b7bf5521fc1dffb41fc2 /vernac/declareDef.mli
parentf8de4874c44a24fa107ec6089ae4914821e359a8 (diff)
parentb623017fea475b7b91c99f462b0fe2458bfe91e7 (diff)
Merge PR #11785: [proof] consolidation of mutual definition declaration path
Reviewed-by: SkySkimmer Ack-by: herbelin Reviewed-by: ppedrot
Diffstat (limited to 'vernac/declareDef.mli')
-rw-r--r--vernac/declareDef.mli29
1 files changed, 29 insertions, 0 deletions
diff --git a/vernac/declareDef.mli b/vernac/declareDef.mli
index fb1fc9242c..1d7fd3a3bf 100644
--- a/vernac/declareDef.mli
+++ b/vernac/declareDef.mli
@@ -59,6 +59,35 @@ val declare_assumption
-> Entries.parameter_entry
-> GlobRef.t
+module Recthm : sig
+ type t =
+ { name : Id.t
+ (** Name of theorem *)
+ ; typ : Constr.t
+ (** Type of theorem *)
+ ; args : Name.t list
+ (** Names to pre-introduce *)
+ ; impargs : Impargs.manual_implicits
+ (** Explicitily declared implicit arguments *)
+ }
+end
+
+val declare_mutually_recursive
+ : opaque:bool
+ -> scope:locality
+ -> kind:Decls.logical_kind
+ -> poly:bool
+ -> uctx:UState.t
+ -> udecl:UState.universe_decl
+ -> ntns:Vernacexpr.decl_notation list
+ -> rec_declaration:Constr.rec_declaration
+ -> possible_indexes:int list list option
+ -> ?restrict_ucontext:bool
+ (** XXX: restrict_ucontext should be always true, this seems like a
+ bug in obligations, so this parameter should go away *)
+ -> Recthm.t list
+ -> Names.GlobRef.t list
+
val prepare_definition
: allow_evars:bool
-> ?opaque:bool