diff options
author | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2000-10-11 13:36:19 +0000 |
---|---|---|
committer | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2000-10-11 13:36:19 +0000 |
commit | d510a00bbe0223a34e1fe2f8ad77f9141ec700e2 (patch) | |
tree | 1a08470dddb6ec3bac38d9fdd49134926f7ef162 | |
parent | 513b547b55c73b2579206d762f0a136c3b11a66b (diff) |
Bug affichage du nom des letin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@682 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r-- | pretyping/detyping.ml | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/pretyping/detyping.ml b/pretyping/detyping.ml index a02cf96a6..a49bcb098 100644 --- a/pretyping/detyping.ml +++ b/pretyping/detyping.ml @@ -68,6 +68,10 @@ let concrete_name l env_names n c = let idopt = if dependent (mkRel 1) c then (Some fresh_id) else None in (idopt, fresh_id::l) +let concrete_let_name l env_names n c = + let fresh_id = next_name_not_occuring n l env_names c in + (Name fresh_id, fresh_id::l) + (* Returns the list of global variables and constants in a term *) let global_vars_and_consts t = let rec collect acc c = @@ -370,9 +374,12 @@ and detype_eqn avoid env constr_id construct_nargs branch = buildrec [] [] avoid env construct_nargs branch and detype_binder bk avoid env na ty c = - let na',avoid' = match concrete_name avoid env na c with - | (Some id,l') -> (Name id), l' - | (None,l') -> Anonymous, l' in + let na',avoid' = + if bk = BLetIn then concrete_let_name avoid env na c + else + match concrete_name avoid env na c with + | (Some id,l') -> (Name id), l' + | (None,l') -> Anonymous, l' in RBinder (dummy_loc,bk, na',detype [] env ty, detype avoid' (add_name na' env) c) |