aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2001-11-08 14:10:21 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2001-11-08 14:10:21 +0000
commit25ea09274a8b085092963fcccf0400f8826f5544 (patch)
tree3cddd41152c9efec8baccf65553164ab8cae8513 /pretyping
parent8640627fa00798b429baf56937a66f1621be0a02 (diff)
Rétablissement de la persistance des Cast; typage des LetIn sans recours à Cast
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@2171 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/typing.ml9
1 files changed, 6 insertions, 3 deletions
diff --git a/pretyping/typing.ml b/pretyping/typing.ml
index 7dd552e38..b36c03204 100644
--- a/pretyping/typing.ml
+++ b/pretyping/typing.ml
@@ -111,10 +111,13 @@ let rec execute mf env sigma cstr =
j
| LetIn (name,c1,c2,c3) ->
- let j1 = execute mf env sigma (mkCast (c1, c2)) in
- let env1 = push_rel (name,Some j1.uj_val,j1.uj_type) env in
+ let j1 = execute mf env sigma c1 in
+ let j2 = execute mf env sigma c2 in
+ let j2 = type_judgment env sigma j2 in
+ let env1 = push_rel (name,Some j1.uj_val,j2.utj_val) env in
let j3 = execute mf env1 sigma c3 in
- judge_of_letin env name j1 j3
+ let (j,_) = judge_of_letin env name j1 j2 j3 in
+ j
| Cast (c,t) ->
let cj = execute mf env sigma c in