X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Focaml%2Fcic_disambiguation%2Fdisambiguate.ml;h=68946097381d574a4d37537a078e4ab443550ba4;hb=1a40d93d10be4ee71ae9474384af931d70918690;hp=bee671ee8ecbdfec342daa090a16638f300143b5;hpb=8653d506aacaf019deb3438bd4681ad1000061bd;p=helm.git diff --git a/helm/ocaml/cic_disambiguation/disambiguate.ml b/helm/ocaml/cic_disambiguation/disambiguate.ml index bee671ee8..689460973 100644 --- a/helm/ocaml/cic_disambiguation/disambiguate.ml +++ b/helm/ocaml/cic_disambiguation/disambiguate.ml @@ -409,7 +409,7 @@ let interpretate_term ~(context: Cic.name list) ~env ~uri ~is_path ast | None -> Cic.Implicit annotation | Some term -> aux ~localize loc context term in - aux ~localize:true dummy_floc context ast + aux ~localize:true HExtlib.dummy_floc context ast let interpretate_path ~context path = let localization_tbl = Cic.CicHash.create 23 in @@ -445,15 +445,6 @@ let interpretate_obj ~context ~env ~uri ~is_path obj ~localization_tbl = i + 1,(name,name,Cic.MutInd (uri,i,[]))::res ) (0,[]) tyl) in let con_env = DisambiguateTypes.env_of_list name_to_uris env in - let undebrujin t = - snd - (List.fold_right - (fun (name,_,_,_) (i,t) -> - (*here the explicit_named_substituion is assumed to be of length 0 *) - let t' = Cic.MutInd (uri,i,[]) in - let t = CicSubstitution.subst t' t in - i - 1,t - ) tyl (List.length tyl - 1,t)) in let tyl = List.map (fun (name,b,ty,cl) -> @@ -464,7 +455,7 @@ let interpretate_obj ~context ~env ~uri ~is_path obj ~localization_tbl = let ty' = add_params (interpretate_term context con_env None false ty) in - name,undebrujin ty' + name,ty' ) cl in name,b,ty',cl' @@ -489,7 +480,7 @@ let interpretate_obj ~context ~env ~uri ~is_path obj ~localization_tbl = let fields' = snd ( List.fold_left - (fun (context,res) (name,ty) -> + (fun (context,res) (name,ty,_coercion) -> let context' = Cic.Name name :: context in context',(name,interpretate_term context env None false ty)::res ) (context,[]) fields) in @@ -506,7 +497,7 @@ let interpretate_obj ~context ~env ~uri ~is_path obj ~localization_tbl = concl fields' in let con' = add_params con in let tyl = [name,true,ty',["mk_" ^ name,con']] in - let field_names = List.map fst fields in + let field_names = List.map (fun (x,_,y) -> x,y) fields in Cic.InductiveDefinition (tyl,[],List.length params,[`Class (`Record field_names)]) | CicNotationPt.Theorem (flavour, name, ty, bo) -> @@ -545,7 +536,7 @@ let rev_uniq = (* "aux" keeps domain in reverse order and doesn't care about duplicates. * Domain item more in deep in the list will be processed first. *) -let rec domain_rev_of_term ?(loc = dummy_floc) context = function +let rec domain_rev_of_term ?(loc = HExtlib.dummy_floc) context = function | CicNotationPt.AttributedTerm (`Loc loc, term) -> domain_rev_of_term ~loc context term | CicNotationPt.AttributedTerm (_, term) -> @@ -688,12 +679,12 @@ let domain_of_obj ~context ast = | CicNotationPt.Record (params,_,ty,fields) -> let dom = List.flatten - (List.rev_map (fun (_,ty) -> domain_rev_of_term [] ty) fields) in + (List.rev_map (fun (_,ty,_) -> domain_rev_of_term [] ty) fields) in let dom = List.filter (fun name-> not ( List.exists (fun (name',_) -> name = Id name') params - || List.exists (fun (name',_) -> name = Id name') fields) + || List.exists (fun (name',_,_) -> name = Id name') fields) ) dom in List.fold_left