aboutsummaryrefslogtreecommitdiff
path: root/proofs
diff options
context:
space:
mode:
authorbarras2008-10-07 13:27:55 +0000
committerbarras2008-10-07 13:27:55 +0000
commit66b0c04d4799c023504fe847a4b7b341dcbe92ac (patch)
treed42d3330a27fd364648f9d715ebc1a8dbc956de3 /proofs
parentd4203d86a16fa7bae99a07c3e9d1e20a806eafc9 (diff)
fixing r11433 again:
- backtrack on kernel modifications: the monomorphic instance of an inductive type is constrained to live in an universe higher (or equal) than all the instances - improved support for polymorphic inductive types at the refiner level: introduced type_of_inductive_knowing_conclusion that computes the instance to match the current conclusion universe. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11435 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'proofs')
-rw-r--r--proofs/logic.ml9
1 files changed, 1 insertions, 8 deletions
diff --git a/proofs/logic.ml b/proofs/logic.ml
index 15f8b8a731..eb879d977a 100644
--- a/proofs/logic.ml
+++ b/proofs/logic.ml
@@ -237,12 +237,6 @@ let check_conv_leq_goal env sigma arg ty conclty =
let goal_type_of env sigma c =
(if !check then type_of else Retyping.get_type_of) env sigma c
-let refresh_poly_universes c =
- let (ctx,t) = decompose_prod_assum c in
- let ctx' = List.map (fun (na,b,ty) -> (na,b,refresh_universes ty)) ctx in
- let t' = refresh_universes t in
- it_mkProd_or_LetIn t' ctx'
-
let rec mk_refgoals sigma goal goalacc conclty trm =
let env = evar_env goal in
let hyps = goal.evar_hyps in
@@ -272,8 +266,7 @@ let rec mk_refgoals sigma goal goalacc conclty trm =
when (isInd f or has_polymorphic_type (destConst f)) ->
(* Sort-polymorphism of definition and inductive types *)
goalacc,
- refresh_poly_universes
- (type_of_global_reference_knowing_parameters env sigma f [||])
+ type_of_global_reference_knowing_conclusion env sigma f conclty
| _ ->
mk_hdgoals sigma goal goalacc f
in