aboutsummaryrefslogtreecommitdiff
path: root/kernel/closure.ml
diff options
context:
space:
mode:
authorbarras2001-05-03 09:54:17 +0000
committerbarras2001-05-03 09:54:17 +0000
commitbf352b0b29a8e3d55eaa986c4f493af48f8ddf52 (patch)
treeb0633f3a1ee73bd685327c2c988426d65de7a58a /kernel/closure.ml
parentc4a517927f148e0162d22cb7077fa0676d799926 (diff)
Changement de la structure des points fixes
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@1731 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel/closure.ml')
-rw-r--r--kernel/closure.ml40
1 files changed, 21 insertions, 19 deletions
diff --git a/kernel/closure.ml b/kernel/closure.ml
index 714a8be3d6..a09368fcdc 100644
--- a/kernel/closure.ml
+++ b/kernel/closure.ml
@@ -438,9 +438,9 @@ and fterm =
| FInd of inductive_path * fconstr array
| FConstruct of constructor_path * fconstr array
| FApp of fconstr * fconstr array
- | FFix of (int array * int) * (fconstr array * name list * fconstr array)
+ | FFix of (int array * int) * (name array * fconstr array * fconstr array)
* constr array * fconstr subs
- | FCoFix of int * (fconstr array * name list * fconstr array)
+ | FCoFix of int * (name array * fconstr array * fconstr array)
* constr array * fconstr subs
| FCases of case_info * fconstr * fconstr * fconstr array
| FLambda of name * fconstr * fconstr * constr * fconstr subs
@@ -535,18 +535,20 @@ let mk_clos_deep clos_fun env t =
{ norm = Red;
term = FCases (ci, clos_fun env p, clos_fun env c,
Array.map (clos_fun env) v) }
- | IsFix (op,(tys,lna,bds)) ->
+ | IsFix (op,(lna,tys,bds)) ->
let env' = subs_liftn (Array.length bds) env in
{ norm = Cstr;
- term = FFix (op, (Array.map (clos_fun env) tys, lna,
- Array.map (clos_fun env') bds),
- bds, env) }
- | IsCoFix (op,(tys,lna,bds)) ->
+ term = FFix
+ (op,(lna, Array.map (clos_fun env) tys,
+ Array.map (clos_fun env') bds),
+ bds, env) }
+ | IsCoFix (op,(lna,tys,bds)) ->
let env' = subs_liftn (Array.length bds) env in
{ norm = Cstr;
- term = FCoFix (op, (Array.map (clos_fun env) tys, lna,
- Array.map (clos_fun env') bds),
- bds, env) }
+ term = FCoFix
+ (op,(lna, Array.map (clos_fun env) tys,
+ Array.map (clos_fun env') bds),
+ bds, env) }
| IsLambda (n,t,c) ->
{ norm = Cstr;
@@ -590,14 +592,14 @@ let rec to_constr constr_fun lfts v =
mkMutCase (ci, constr_fun lfts p,
constr_fun lfts c,
Array.map (constr_fun lfts) ve)
- | FFix (op,(tys,lna,bds),_,_) ->
+ | FFix (op,(lna,tys,bds),_,_) ->
let lfts' = el_liftn (Array.length bds) lfts in
- mkFix (op, (Array.map (constr_fun lfts) tys, lna,
- Array.map (constr_fun lfts') bds))
- | FCoFix (op,(tys,lna,bds),_,_) ->
+ mkFix (op, (lna, Array.map (constr_fun lfts) tys,
+ Array.map (constr_fun lfts') bds))
+ | FCoFix (op,(lna,tys,bds),_,_) ->
let lfts' = el_liftn (Array.length bds) lfts in
- mkCoFix (op, (Array.map (constr_fun lfts) tys, lna,
- Array.map (constr_fun lfts') bds))
+ mkCoFix (op, (lna, Array.map (constr_fun lfts) tys,
+ Array.map (constr_fun lfts') bds))
| FApp (f,ve) ->
mkApp (constr_fun lfts f,
Array.map (constr_fun lfts) ve)
@@ -903,9 +905,9 @@ and down_then_up info m stk =
FInd(ind, Array.map (kl info) args)
| FConstruct(c,args) ->
FConstruct(c, Array.map (kl info) args)
- | FCoFix(n,(ftys,na,fbds),bds,e) ->
- FCoFix(n,(Array.map (kl info) ftys, na,
- Array.map (kl info) fbds),bds,e)
+ | FCoFix(n,(na,ftys,fbds),bds,e) ->
+ FCoFix(n,(na, Array.map (kl info) ftys,
+ Array.map (kl info) fbds),bds,e)
| FFlex(FConst(sp,args)) ->
FFlex(FConst(sp, Array.map (kl info) args))
| FFlex(FEvar((i,args),e)) ->