+ `Old (uri::lemmas)
+ | GrafiteAst.NQed loc ->
+ (match status.GrafiteTypes.ng_status with
+ | GrafiteTypes.ProofMode
+ { NTacStatus.istatus =
+ {NTacStatus.pstatus = pstatus; lstatus=lexicon_status} } ->
+ let uri,height,menv,subst,obj = pstatus in
+ if menv <> [] then
+ raise
+ (GrafiteTypes.Command_error"You can't Qed an incomplete theorem")
+ else
+ let obj =
+prerr_endline "CSC: here we should fix the height!!!";
+ (uri,height,[],[],
+ NCicUntrusted.map_obj_kind (NCicUntrusted.apply_subst subst)
+ obj) in
+ NCicTypeChecker.typecheck_obj obj;
+ NCicLibrary.add_obj uri obj;
+ let objs = NCicElim.mk_elims obj in
+ let uris =
+ uri::
+ List.map
+ (fun (uri,_,_,_,_) as obj ->
+ NCicTypeChecker.typecheck_obj obj;
+ NCicLibrary.add_obj uri obj;
+ uri
+ ) objs
+ in
+ {status with
+ GrafiteTypes.ng_status =
+ GrafiteTypes.CommandMode lexicon_status },`New uris
+ | _ -> raise (GrafiteTypes.Command_error "Not in proof mode"))