X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fsoftware%2Fcomponents%2Fng_refiner%2FnCicRefiner.ml;h=8c5dcae76d0d700e5a93156faa32bdb5eae66ba0;hb=d174e54c365ab9df38367de9336c213a03be3c27;hp=1cd2e54b96614a37ae097022799f109a964d7765;hpb=7bc72d8afaebb1d2070a26b07f9bf4242b648e2c;p=helm.git diff --git a/helm/software/components/ng_refiner/nCicRefiner.ml b/helm/software/components/ng_refiner/nCicRefiner.ml index 1cd2e54b9..8c5dcae76 100644 --- a/helm/software/components/ng_refiner/nCicRefiner.ml +++ b/helm/software/components/ng_refiner/nCicRefiner.ml @@ -60,7 +60,7 @@ let check_allowed_sort_elimination hdb localise r orig = NCicPp.ppmetasenv ~subst metasenv)); match arity1 with | C.Prod (name,so1,de1) (* , t ==?== C.Prod _ *) -> - let metasenv, meta, _ = + let metasenv, _, meta, _ = NCicMetaSubst.mk_meta metasenv ((name,C.Decl so1)::context) `Type in let metasenv, subst = @@ -74,7 +74,7 @@ let check_allowed_sort_elimination hdb localise r orig = aux metasenv subst ((name, C.Decl so1)::context) (mkapp (NCicSubstitution.lift 1 ind) (C.Rel 1)) de1 meta | C.Sort _ (* , t ==?== C.Prod _ *) -> - let metasenv, meta, _ = NCicMetaSubst.mk_meta metasenv [] `Type in + let metasenv, _, meta, _ = NCicMetaSubst.mk_meta metasenv [] `Type in let metasenv, subst = try NCicUnification.unify hdb metasenv subst context arity2 (C.Prod ("_", ind, meta)) @@ -145,7 +145,7 @@ let rec typeof hdb NCicPp.ppterm ~subst ~metasenv ~context t))) | C.Sort _ -> metasenv,subst,t,(C.Sort (C.Type NCicEnvironment.type0)) | C.Implicit infos -> - let metasenv,t,ty = exp_implicit metasenv context expty infos in + let metasenv,_,t,ty = exp_implicit metasenv context expty infos in metasenv, subst, t, ty | C.Meta (n,l) as t -> let ty = @@ -153,7 +153,11 @@ let rec typeof hdb let _,_,_,ty = NCicUtils.lookup_subst n subst in ty with NCicUtils.Subst_not_found _ -> try let _,_,ty = NCicUtils.lookup_meta n metasenv in - match ty with C.Implicit _ -> assert false | _ -> ty + match ty with C.Implicit _ -> + prerr_endline (string_of_int n); + prerr_endline (NCicPp.ppmetasenv ~subst metasenv); + prerr_endline (NCicPp.ppsubst ~metasenv subst); + assert false | _ -> ty with NCicUtils.Meta_not_found _ -> raise (AssertFailure (lazy (Printf.sprintf "%s not found" (NCicPp.ppterm ~subst ~metasenv ~context t)))) @@ -305,7 +309,7 @@ let rec typeof hdb let resty = C.Appl (outtype::arguments@[term]) in let resty = NCicReduction.head_beta_reduce ~subst resty in metasenv, subst, C.Match (r, outtype, term, List.rev pl_rev),resty - | C.Match _ as orig -> assert false + | C.Match _ -> assert false in pp (lazy (NCicPp.ppterm ~metasenv ~subst ~context t ^ " :: "^ NCicPp.ppterm ~metasenv ~subst ~context infty )); @@ -423,7 +427,7 @@ and eat_prods hdb let metasenv, subst, arg, ty_arg = typeof hdb ~look_for_coercion ~localise metasenv subst context arg None in - let metasenv, meta, _ = + let metasenv, _, meta, _ = NCicMetaSubst.mk_meta metasenv (("_",C.Decl ty_arg) :: context) `Type in @@ -582,7 +586,7 @@ let typeof_obj hdb uri, height, metasenv, subst, C.Fixpoint (inductive, fl, attr) - | C.Inductive (ind, leftno, itl, attr) -> assert false + | C.Inductive (_ind, _leftno, _itl, _attr) -> assert false (* (* let's check if the arity of the inductive types are well formed *) List.iter (fun (_,_,x,_) -> ignore (typeof ~subst ~metasenv [] x)) tyl;