]> matita.cs.unibo.it Git - helm.git/commitdiff
sort_of_prod: the second term, when it is a meta, was unified with a fresh
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Sat, 7 Feb 2004 17:52:01 +0000 (17:52 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Sat, 7 Feb 2004 17:52:01 +0000 (17:52 +0000)
meta in a wrong context. Fixed.

helm/ocaml/cic_unification/cicRefine.ml

index 43ecd892915745020599e705acc6c341b583550f..42d792d98a71479285dcc06e5a9a0ff0b52209ed 100644 (file)
@@ -466,8 +466,9 @@ and type_of_aux' metasenv context t =
 
  and sort_of_prod subst metasenv context (name,s) (t1, t2) =
   let module C = Cic in
+    let context_for_t2 = (Some (name,C.Decl s))::context in
     let t1'' = CicMetaSubst.whd subst context t1 in
-    let t2'' = CicMetaSubst.whd subst ((Some (name,C.Decl s))::context) t2 in
+    let t2'' = CicMetaSubst.whd subst context_for_t2 t2 in
     match (t1'', t2'') with
        (C.Sort s1, C.Sort s2)
          when (s2 = C.Prop or s2 = C.Set or s2 = C.CProp) -> (* different than Coq manual!!! *)
@@ -485,7 +486,7 @@ and type_of_aux' metasenv context t =
          let (metasenv,idx) =
           CicMkImplicit.mk_implicit metasenv [] in
          let (subst, metasenv) =
-          CicUnification.fo_unif_subst subst context metasenv
+          CicUnification.fo_unif_subst subst context_for_t2 metasenv
            (C.Meta (idx,[])) t2''
          in
           t2'',subst,metasenv