diff options
| author | Hugo Herbelin | 2017-05-20 18:23:05 +0200 |
|---|---|---|
| committer | Hugo Herbelin | 2017-05-31 00:44:26 +0200 |
| commit | 5c30cf26474aa4f52d26005c797130a0d6d21ab5 (patch) | |
| tree | 939e8b9983d431ff6a84a1026daef6d4ca17371d /vernac | |
| parent | 99fe89385f6590aac5bc2dadf246c3d021986f7c (diff) | |
Fixing a failure to interpret some local implicit arguments in Inductive.
For instance, the following was failing to use the implicitness of n:
Inductive A (P:forall m {n}, n=m -> Prop) := C : P 0 eq_refl -> A P.
Diffstat (limited to 'vernac')
| -rw-r--r-- | vernac/command.ml | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/vernac/command.ml b/vernac/command.ml index e2ebb4d7fb..02d8525158 100644 --- a/vernac/command.ml +++ b/vernac/command.ml @@ -582,7 +582,7 @@ let interp_mutual_inductive (paramsl,indl) notations poly prv finite = let pl = (List.hd indl).ind_univs in let ctx = Evd.make_evar_universe_context env0 pl in let evdref = ref Evd.(from_ctx ctx) in - let _, ((env_params, ctx_params), userimpls) = + let impls, ((env_params, ctx_params), userimpls) = interp_context_evars env0 evdref paramsl in let ctx_params = List.map (fun d -> map_rel_decl EConstr.Unsafe.to_constr d) ctx_params in @@ -603,7 +603,7 @@ let interp_mutual_inductive (paramsl,indl) notations poly prv finite = let indimpls = List.map (fun (_, _, impls) -> userimpls @ lift_implicits (Context.Rel.nhyps ctx_params) impls) arities in let arities = List.map pi1 arities and aritypoly = List.map pi2 arities in - let impls = compute_internalization_env env0 (Inductive params) indnames fullarities indimpls in + let impls = compute_internalization_env env0 ~impls (Inductive params) indnames fullarities indimpls in let implsforntn = compute_internalization_env env0 Variable indnames fullarities indimpls in let mldatas = List.map2 (mk_mltype_data evdref env_params params) arities indnames in |
