+ | GrafiteAst.NObj (loc,obj) ->
+ let ty, name =
+ match obj with
+ | CicNotationPt.Theorem (_,name,ty,_) -> ty, name
+ | _ -> assert false
+ in
+ let suri = "cic:/ng_matita/" ^ name ^ ".def" in
+ let nlexicon_status =
+ match status.GrafiteTypes.ng_status with
+ | GrafiteTypes.ProofMode _ -> assert false
+ | GrafiteTypes.CommandMode ls -> ls
+ in
+ let nmenv, nsubst, nlexicon_status, nty =
+ GrafiteDisambiguate.disambiguate_nterm None
+ nlexicon_status [] [] [] (text,prefix_len,ty)
+ in
+ let nmenv, nsubst, nlexicon_status, nbo =
+ GrafiteDisambiguate.disambiguate_nterm (Some nty)
+ nlexicon_status [] nmenv nsubst ("",0,CicNotationPt.Implicit)
+ in
+ let ninitial_stack = Continuationals.Stack.of_nmetasenv nmenv in
+ prerr_endline ("nuovo lemma: " ^ NCicPp.ppmetasenv ~subst:nsubst nmenv);
+ { status with
+ GrafiteTypes.ng_status =
+ GrafiteTypes.ProofMode { NTactics.gstatus = ninitial_stack;
+ istatus = {
+ NTactics.pstatus =
+ NUri.uri_of_string suri, 0, nmenv, nsubst,
+ (NCic.Constant ([],"",Some nbo,nty,(`Provided,`Definition,`Regular)));
+ lstatus = nlexicon_status} }
+ },
+ []