let cic =
if is_uri ast then (* we have the URI, build the term out of it *)
try
- CicUtil.term_of_uri name
+ CicUtil.term_of_uri (UriManager.uri_of_string name)
with UriManager.IllFormedUri _ ->
CicTextualParser2.fail loc "Ill formed URI"
else
(*here the explicit_named_substituion is assumed to be of length 0 *)
let mutind = Cic.MutInd (uri,0,[]) in
if params = [] then mutind
- else Cic.Appl (mutind::CicUtil.mk_rels (List.length params) (List.length fields)) in
+ else
+ Cic.Appl
+ (mutind::CicUtil.mk_rels (List.length params) (List.length fields)) in
let con =
List.fold_left
(fun t (name,ty) -> Cic.Prod (Cic.Name name,ty,t))
concl fields' in
let con' = add_params con in
let tyl = [name,true,ty',["mk_" ^ name,con']] in
- Cic.InductiveDefinition (tyl,[],List.length params,[`Class `Record])
+ let field_names = List.map fst fields in
+ Cic.InductiveDefinition
+ (tyl,[],List.length params,[`Class (`Record field_names)])
| TacticAst.Theorem (_,name,ty,bo) ->
let ty' = interpretate_term [] env None false ty in
match bo with
let uris =
match uris with
| [] ->
- [UriManager.string_of_uri (C.input_or_locate_uri
+ [(C.input_or_locate_uri
~title:("URI matching \"" ^ id ^ "\" unknown.") ~id ())]
| [uri] -> [uri]
| _ ->
in
List.map
(fun uri ->
- (uri,
+ (UriManager.string_of_uri uri,
let term =
try
CicUtil.term_of_uri uri
with exn ->
- debug_print uri;
+ debug_print (UriManager.string_of_uri uri);
debug_print (Printexc.to_string exn);
assert false
in