X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Focaml%2Ftactics%2FproofEngineReduction.ml;h=fca06f6f078301430648759b07c445d5955e6f0f;hb=ef3f78973c2fa3151c09681bcdb60107cd73c518;hp=0a1f13a78ffd0d04072c223fbdcdda06c39f4068;hpb=afa05d30f20de12e031c3e5c3e5c33c19c42a7d8;p=helm.git diff --git a/helm/ocaml/tactics/proofEngineReduction.ml b/helm/ocaml/tactics/proofEngineReduction.ml index 0a1f13a78..fca06f6f0 100644 --- a/helm/ocaml/tactics/proofEngineReduction.ml +++ b/helm/ocaml/tactics/proofEngineReduction.ml @@ -33,6 +33,7 @@ (* *) (******************************************************************************) +(* $Id$ *) (* The code of this module is derived from the code of CicReduction *) @@ -630,7 +631,7 @@ let simpl context = | C.Sort _ as t -> t (* l should be empty *) | C.Implicit _ as t -> t | C.Cast (te,ty) -> - C.Cast (reduceaux context l te, reduceaux context l ty) + C.Cast (reduceaux context l te, reduceaux context [] ty) | C.Prod (name,s,t) -> assert (l = []) ; C.Prod (name, @@ -694,18 +695,16 @@ let simpl context = in reduceaux context [] body' | C.Appl (C.CoFix (i,fl) :: tl) -> - let tys = - List.map (function (name,ty,_) -> Some (C.Name name, C.Decl ty)) fl in let (_,_,body) = List.nth fl i in - let body' = - let counter = ref (List.length fl) in - List.fold_right - (fun _ -> decr counter ; S.subst (C.CoFix (!counter,fl))) - fl - body - in - let tl' = List.map (reduceaux context []) tl in - reduceaux context tl' body' + let body' = + let counter = ref (List.length fl) in + List.fold_right + (fun _ -> decr counter ; S.subst (C.CoFix (!counter,fl))) + fl + body + in + let tl' = List.map (reduceaux context []) tl in + reduceaux context tl' body' | t -> t in (match decofix (CicReduction.whd context term) with