aboutsummaryrefslogtreecommitdiff
path: root/vernac/command.ml
diff options
context:
space:
mode:
authorAmin Timany2017-04-27 20:16:35 +0200
committerEmilio Jesus Gallego Arias2017-06-16 04:51:16 +0200
commit9468e4b49bd2f397b5e1bd2b7994cc84929fb6ac (patch)
tree916f61f35650966d7a288e8579279b0a3e45afc6 /vernac/command.ml
parent7b5fcef8a0fb3b97a3980f10596137234061990f (diff)
Fix bugs and add an option for cumulativity
Diffstat (limited to 'vernac/command.ml')
-rw-r--r--vernac/command.ml7
1 files changed, 4 insertions, 3 deletions
diff --git a/vernac/command.ml b/vernac/command.ml
index 6c59976232..2345cb4c51 100644
--- a/vernac/command.ml
+++ b/vernac/command.ml
@@ -573,7 +573,7 @@ let check_param = function
| CLocalAssum (nas, Generalized _, _) -> ()
| CLocalPattern _ -> assert false
-let interp_mutual_inductive (paramsl,indl) notations poly prv finite =
+let interp_mutual_inductive (paramsl,indl) notations cum poly prv finite =
check_all_names_different indl;
List.iter check_param paramsl;
let env0 = Global.env() in
@@ -657,6 +657,7 @@ let interp_mutual_inductive (paramsl,indl) notations poly prv finite =
mind_entry_finite = finite;
mind_entry_inds = entries;
mind_entry_polymorphic = poly;
+ mind_entry_cumulative = cum;
mind_entry_private = if prv then Some false else None;
mind_entry_universes = ground_uinfind;
}
@@ -747,10 +748,10 @@ type one_inductive_impls =
Impargs.manual_explicitation list (* for inds *)*
Impargs.manual_explicitation list list (* for constrs *)
-let do_mutual_inductive indl poly prv finite =
+let do_mutual_inductive indl cum poly prv finite =
let indl,coes,ntns = extract_mutual_inductive_declaration_components indl in
(* Interpret the types *)
- let mie,pl,impls = interp_mutual_inductive indl ntns poly prv finite in
+ let mie,pl,impls = interp_mutual_inductive indl ntns cum poly prv finite in
(* Declare the mutual inductive block with its associated schemes *)
ignore (declare_mutual_inductive_with_eliminations mie pl impls);
(* Declare the possible notations of inductive types *)