aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/indrec.mli
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <mattam@mattam.org>2018-06-13 22:54:25 +0200
committerGravatar Matthieu Sozeau <mattam@mattam.org>2018-06-13 22:54:25 +0200
commite0a0159d7219a3d7e81f46001dcb2fdf1b466f8f (patch)
treef38174a5dc18366f21caecf70e9bdfa639ab91c0 /pretyping/indrec.mli
parentc1d690443589a457b18b39b7003ccb762bcf401f (diff)
[vernac] Add option to force building really mutual induction schemes
Currently, if one of the inductives is non recursive, it defaults to a case analysis schems taking fewer predicates and methods just for that inductive. This irregularity prevents doing a combined scheme afterwards to gather all eliminators into one, as combined scheme expects all the eliminators to have the same predicates and methods. I have a use case in building function graphs in Equations where some of the inductives might not be recursive but I expect many other use cases could exist.
Diffstat (limited to 'pretyping/indrec.mli')
-rw-r--r--pretyping/indrec.mli3
1 files changed, 2 insertions, 1 deletions
diff --git a/pretyping/indrec.mli b/pretyping/indrec.mli
index d87a19d28..de9d3a0ab 100644
--- a/pretyping/indrec.mli
+++ b/pretyping/indrec.mli
@@ -47,7 +47,8 @@ val build_induction_scheme : env -> evar_map -> pinductive ->
(** Builds mutual (recursive) induction schemes *)
val build_mutual_induction_scheme :
- env -> evar_map -> (pinductive * dep_flag * Sorts.family) list -> evar_map * constr list
+ env -> evar_map -> ?force_mutual:bool ->
+ (pinductive * dep_flag * Sorts.family) list -> evar_map * constr list
(** Scheme combinators *)