diff options
| author | filliatr | 1999-11-25 10:45:26 +0000 |
|---|---|---|
| committer | filliatr | 1999-11-25 10:45:26 +0000 |
| commit | d1fd4e0344d81127f2307f1553642fc67911b68c (patch) | |
| tree | 7c6d66ca699c3b32dc06cce90092cab95f33672f /proofs | |
| parent | 2e57237d7518d8cd4ea2b608e5e7c96eb5698638 (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.ml | 4 | ||||
| -rw-r--r-- | proofs/typing_ev.ml | 9 |
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 |
