(B.b_hv [Some "helm", "xref", id]
((B.b_toggle [
B.b_h [] [B.b_text [] "{...}"; B.b_space];
- B.b_hv [] (List.map
+ B.b_hv [] (HExtlib.list_concat ~sep:[B.b_text [] ";"; B.b_space]
+ (List.map (fun x -> [x])
+ (List.map
(function
| None ->
B.b_h []
(match dec_name with
None -> "_"
| Some n -> n));
- B.b_text [] ":";
+ B.b_text [] ":"; B.b_space;
term2pres ty ]
| Some (`Definition d) ->
let
None -> "_"
| Some n -> n)) ;
B.b_text [] (Utf8Macro.unicode_of_tex "\\Assign");
+ B.b_space;
term2pres bo]
| Some (`Proof p) ->
let proof_name = p.Content.proof_name in
None -> "_"
| Some n -> n)) ;
B.b_text [] (Utf8Macro.unicode_of_tex "\\Assign");
+ B.b_space;
proof2pres true term2pres p])
- (List.rev context)) ] ::
+ (List.rev context)))) ] ::
[ B.b_h []
- [ B.b_text [] (Utf8Macro.unicode_of_tex "\\vdash");
+ [ B.b_space;
+ B.b_text [] (Utf8Macro.unicode_of_tex "\\vdash");
+ B.b_space;
B.b_object (p_mi [] (string_of_int n)) ;
B.b_text [] ":" ;
+ B.b_space;
term2pres ty ]])))
let metasenv2pres term2pres = function
match kind with
| `Recursive _ -> "Recursive definition"
| `CoRecursive -> "CoRecursive definition"
- | `Inductive _ -> "Inductive definition"
- | `CoInductive _ -> "CoInductive definition"
+ | `Inductive i ->
+ "Inductive definition with "^string_of_int i^" fixed parameter(s)"
+ | `CoInductive i ->
+ "Co-Inductive definition with "^string_of_int i^" fixed parameter(s)"
in
B.b_h [] (B.b_kw kind :: params2pres params)
| `Inductive ind -> inductive2pres term2pres ind
| _ -> assert false (* ZACK or raise ToDo? *)
-let content2pres
+let content2pres0
?skip_initial_lambdas ?(skip_thm_and_qed=false) term2pres
(id,params,metasenv,obj)
=
let content2pres
?skip_initial_lambdas ?skip_thm_and_qed ~ids_to_inner_sorts
=
- content2pres ?skip_initial_lambdas ?skip_thm_and_qed
+ content2pres0 ?skip_initial_lambdas ?skip_thm_and_qed
(fun ?(prec=90) annterm ->
let ast, ids_to_uris =
TermAcicContent.ast_of_acic ~output_type:`Term ids_to_inner_sorts annterm
in
CicNotationPres.box_of_mpres
- (CicNotationPres.render ids_to_uris ~prec
+ (CicNotationPres.render
+ ~lookup_uri:(CicNotationPres.lookup_uri ids_to_uris) ~prec
(TermContentPres.pp_ast ast)))
+
+let ncontent2pres ?skip_initial_lambdas ?skip_thm_and_qed ~ids_to_nrefs =
+ let lookup_uri id =
+ try
+ let nref = Hashtbl.find ids_to_nrefs id in
+ Some (NReference.string_of_reference nref)
+ with Not_found -> None
+ in
+ content2pres0 ?skip_initial_lambdas ?skip_thm_and_qed
+ (fun ?(prec=90) ast ->
+ CicNotationPres.box_of_mpres
+ (CicNotationPres.render ~lookup_uri ~prec (TermContentPres.pp_ast ast)))