Tactics.cut ~mk_fresh_name_callback:(namer_of names) term
| GrafiteAst.Decompose (_, types, what, names) ->
let to_type = function
- | GrafiteAst.Type (uri, typeno) -> uri, typeno
+ | GrafiteAst.Type (uri, typeno) -> uri, Some typeno
| GrafiteAst.Ident _ -> assert false
in
let user_types = List.rev_map to_type types in
RefinementTool.pack_coercion_obj = CicRefine.pack_coercion_obj;
}
-let eval_coercion status ~add_composites uri arity =
+let eval_coercion status ~add_composites uri arity baseuri =
let status,compounds =
GrafiteSync.add_coercion ~add_composites refinement_toolkit status uri arity
+ baseuri
in
let moo_content =
List.map (coercion_moo_statement_of arity) (uri::compounds)
status,[]
| GrafiteAst.Coercion (loc, uri, add_composites, arity) ->
eval_coercion status ~add_composites uri arity
+ (GrafiteTypes.get_string_option status "baseuri")
| GrafiteAst.Default (loc, what, uris) as cmd ->
LibraryObjects.set_default what uris;
GrafiteTypes.add_moo_content [cmd] status,[]