diff options
author | bertot <bertot@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2004-02-26 13:35:24 +0000 |
---|---|---|
committer | bertot <bertot@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2004-02-26 13:35:24 +0000 |
commit | 67fe536720c5ef5bb509249b9a30cbc6f2cebd92 (patch) | |
tree | 54964d8e58b41b401d097f044d50b03ee68da118 /toplevel/command.ml | |
parent | e6370d38bd56ccd070cb33d257147ace238efc8b (diff) |
Keep structure information for Fixpoint declaration and Fix terms
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@5386 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel/command.ml')
-rw-r--r-- | toplevel/command.ml | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/toplevel/command.ml b/toplevel/command.ml index 5c0b5818c..46de560b4 100644 --- a/toplevel/command.ml +++ b/toplevel/command.ml @@ -447,16 +447,16 @@ let collect_non_rec env = in searchrec [] -let build_recursive lnameargsardef = - let lrecnames = List.map (fun ((f,_,_,_),_) -> f) lnameargsardef +let build_recursive (lnameargsardef:(fixpoint_expr *decl_notation) list) = + let lrecnames = List.map (fun ((f,_,_,_,_),_) -> f) lnameargsardef and sigma = Evd.empty and env0 = Global.env() - and nv = Array.of_list (List.map (fun ((_,n,_,_),_) -> n) lnameargsardef) in + and nv = Array.of_list (List.map (fun ((_,n,_,_,_),_) -> n) lnameargsardef) in let fs = States.freeze() in (* Declare the notations for the recursive types pushed in local context*) let (rec_sign,arityl) = List.fold_left - (fun (env,arl) ((recname,_,arityc,_),_) -> + (fun (env,arl) ((recname,_,_,arityc,_),_) -> let arity = interp_type sigma env0 arityc in (Environ.push_named (recname,None,arity) env, (arity::arl))) (env0,[]) lnameargsardef in @@ -479,7 +479,7 @@ let build_recursive lnameargsardef = (Lib.cwd(),SectionLocalAssum arity, IsAssumption Definitional) in ()) lrecnames arityl; List.map2 - (fun ((_,_,_,def),_) arity -> + (fun ((_,_,_,_,def),_) arity -> interp_casted_constr sigma rec_sign def arity) lnameargsardef arityl with e -> |