diff options
| author | barras | 2008-10-07 13:27:55 +0000 |
|---|---|---|
| committer | barras | 2008-10-07 13:27:55 +0000 |
| commit | 66b0c04d4799c023504fe847a4b7b341dcbe92ac (patch) | |
| tree | d42d3330a27fd364648f9d715ebc1a8dbc956de3 /proofs | |
| parent | d4203d86a16fa7bae99a07c3e9d1e20a806eafc9 (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.ml | 9 |
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 |
