X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Flexicon%2FlexiconSync.ml;h=1971ac33e20f8ba04f601ab002f99c70fbe69834;hb=363029e1896e843adc102d4fda4b2f4ac434eaa9;hp=c82caf3371eecbeccbe7605bb4a08b6a4541c313;hpb=2c01ff6094173915e7023076ea48b5804dca7778;p=helm.git diff --git a/matita/components/lexicon/lexiconSync.ml b/matita/components/lexicon/lexiconSync.ml index c82caf337..1971ac33e 100644 --- a/matita/components/lexicon/lexiconSync.ml +++ b/matita/components/lexicon/lexiconSync.ml @@ -45,63 +45,20 @@ let alias_diff ~from status = status#lstatus.LexiconEngine.aliases [] ;; -(** given a uri and a type list (the contructors types) builds a list of pairs - * (name,uri) that is used to generate automatic aliases **) -let extract_alias types uri = - fst(List.fold_left ( - fun (acc,i) (name, _, _, cl) -> - (name, UriManager.uri_of_uriref uri i None) :: - (fst(List.fold_left ( - fun (acc,j) (name,_) -> - (((name,UriManager.uri_of_uriref uri i - (Some j)) :: acc) , j+1) - ) (acc,1) cl)),i+1 - ) ([],0) types) - -let build_aliases = - List.map - (fun (name,uri) -> - DisambiguateTypes.Id name, LexiconAst.Ident_alias (name, - UriManager.string_of_uri uri)) - -let add_aliases_for_inductive_def status types uri = - let aliases = build_aliases (extract_alias types uri) in - LexiconEngine.set_proof_aliases status aliases - -let add_alias_for_constant status uri = - let name = UriManager.name_of_uri uri in - let new_env = build_aliases [(name,uri)] in - LexiconEngine.set_proof_aliases status new_env - -let add_aliases_for_object status uri = - function - Cic.InductiveDefinition (types,_,_,_) -> - add_aliases_for_inductive_def status types uri - | Cic.Constant _ -> add_alias_for_constant status uri - | Cic.Variable _ - | Cic.CurrentProof _ -> assert false - let add_aliases_for_objs status = - function - `Old uris -> - List.fold_left - (fun status uri -> - let obj,_ = CicEnvironment.get_obj CicUniv.oblivion_ugraph uri in - add_aliases_for_object status uri obj) status uris - | `New nrefs -> - List.fold_left - (fun status nref -> - let references = NCicLibrary.aliases_of nref in - let new_env = - List.map - (fun u -> - let name = NCicPp.r2s true u in - DisambiguateTypes.Id name, - LexiconAst.Ident_alias (name,NReference.string_of_reference u) - ) references - in - LexiconEngine.set_proof_aliases status new_env - ) status nrefs + List.fold_left + (fun status nref -> + let references = NCicLibrary.aliases_of nref in + let new_env = + List.map + (fun u -> + let name = NCicPp.r2s true u in + DisambiguateTypes.Id name, + LexiconAst.Ident_alias (name,NReference.string_of_reference u) + ) references + in + LexiconEngine.set_proof_aliases status new_env + ) status module OrderedId = struct