X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_proof_checking%2FcicTypeChecker.ml;h=239bd44155dc08261221c0c13d60042db04af85a;hb=6a388079100673e4f71d28a8a53ea029ee1b08df;hp=af98ff0efc72b53acfd7d7e8b225e45272a166f4;hpb=f32d668005b27b2eb8cc984a5dd57506b2d1f7e7;p=helm.git diff --git a/helm/ocaml/cic_proof_checking/cicTypeChecker.ml b/helm/ocaml/cic_proof_checking/cicTypeChecker.ml index af98ff0ef..239bd4415 100644 --- a/helm/ocaml/cic_proof_checking/cicTypeChecker.ml +++ b/helm/ocaml/cic_proof_checking/cicTypeChecker.ml @@ -66,7 +66,7 @@ let debrujin_constructor uri number_of_types = C.Var (uri,exp_named_subst') | C.Meta (i,l) -> let l' = List.map (function None -> None | Some t -> Some (aux k t)) l in - C.Meta (i,l) + C.Meta (i,l') | C.Sort _ | C.Implicit _ as t -> t | C.Cast (te,ty) -> C.Cast (aux k te, aux k ty) @@ -545,7 +545,7 @@ and typecheck_mutual_inductive_defs ~logger uri (itl,_,indparamsno) ugraph = ugraph' ) ugraph cl in (i + 1),ugraph'' - ) itl (1,ugraph) + ) itl (1,ugrap1) in ugraph2 @@ -1126,11 +1126,10 @@ and guarded_by_constructors ~subst context n nn h te args coInductiveTypeURI = | C.Lambda _ | C.LetIn _ -> raise (AssertFailure (lazy "25"))(* due to type-checking *) - | C.Appl ((C.MutInd (uri,_,_))::_) as ty - when uri == coInductiveTypeURI -> + | C.Appl ((C.MutInd (uri,_,_))::_) when uri == coInductiveTypeURI -> guarded_by_constructors ~subst context n nn true te [] coInductiveTypeURI - | C.Appl ((C.MutInd (uri,_,_))::_) as ty -> + | C.Appl ((C.MutInd (uri,_,_))::_) -> guarded_by_constructors ~subst context n nn true te tl coInductiveTypeURI | C.Appl _ -> @@ -1687,8 +1686,7 @@ and type_of_aux' ~logger ?(subst = []) metasenv context t ugraph = (lazy (sprintf ("Case analysys: analysed term type is %s (%s#1/%d{_}), but is expected to be (an application of) %s#1/%d{_}") (CicPp.ppterm typ) (U.string_of_uri uri') i' (U.string_of_uri uri) i))) - | C.Appl - ((C.MutInd (uri',i',exp_named_subst) as typ):: tl) as typ' -> + | C.Appl ((C.MutInd (uri',i',exp_named_subst) as typ):: tl) -> if U.eq uri uri' && i = i' then let params,args = split tl (List.length tl - k)