aboutsummaryrefslogtreecommitdiff
path: root/proofs
diff options
context:
space:
mode:
authorfilliatr1999-11-25 10:45:26 +0000
committerfilliatr1999-11-25 10:45:26 +0000
commitd1fd4e0344d81127f2307f1553642fc67911b68c (patch)
tree7c6d66ca699c3b32dc06cce90092cab95f33672f /proofs
parent2e57237d7518d8cd4ea2b608e5e7c96eb5698638 (diff)
typage des existentielles dans Typing_ev; suppression metamap inutiles dans typage
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@141 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'proofs')
-rw-r--r--proofs/refiner.ml4
-rw-r--r--proofs/typing_ev.ml9
2 files changed, 8 insertions, 5 deletions
diff --git a/proofs/refiner.ml b/proofs/refiner.ml
index 89aa184274..834ee67343 100644
--- a/proofs/refiner.ml
+++ b/proofs/refiner.ml
@@ -159,7 +159,7 @@ let refiner = function
subproof = Some hidden_proof;
ref = Some(r,spfl) }))
- | ((Context ctxt) as r) ->
+ | (Context ctxt) as r ->
(fun goal_sigma ->
let gl = goal_sigma.it in
let sg = mk_goal ctxt gl.evar_env gl.evar_concl in
@@ -174,7 +174,7 @@ let refiner = function
(* [Local_constraints lc] makes the local constraints be [lc] *)
- | ((Local_constraints lc) as r) ->
+ | (Local_constraints lc) as r ->
(fun goal_sigma ->
let gl = goal_sigma.it in
let ctxt = gl.evar_info in
diff --git a/proofs/typing_ev.ml b/proofs/typing_ev.ml
index 54a9d42dce..5e48153719 100644
--- a/proofs/typing_ev.ml
+++ b/proofs/typing_ev.ml
@@ -22,10 +22,13 @@ type 'a mach_flags = {
let rec execute mf env sigma cstr =
match kind_of_term cstr with
- | IsMeta _ ->
- anomaly "the kernel does not understand metas"
+ | IsMeta n ->
+ error "execute: found a non-instanciated goal"
+
| IsEvar _ ->
- anomaly "the kernel does not understand existential variables"
+ let ty = type_of_existential env sigma cstr in
+ let jty = execute mf env sigma ty in
+ { uj_val = cstr; uj_type = ty; uj_kind = jty.uj_type }
| IsRel n ->
relative env n