aboutsummaryrefslogtreecommitdiff
path: root/printing
diff options
context:
space:
mode:
authorMaxime Dénès2017-10-13 11:17:47 +0200
committerMaxime Dénès2017-10-13 11:17:47 +0200
commitf8975f9fce08c7d43e6e57be980cfa36635969a9 (patch)
tree6f5ea799e9ccc9e70354125a0bcd5977c1a10997 /printing
parent57bca928a3c0f7dc2582a4ffb8855ed668afdea2 (diff)
parent4e016b91f59d3bb13681a53c35fbf4a979140b83 (diff)
Merge PR #1103: Take Suggest Proof Using outside the kernel.
Diffstat (limited to 'printing')
-rw-r--r--printing/ppvernac.ml11
-rw-r--r--printing/ppvernac.mli3
2 files changed, 13 insertions, 1 deletions
diff --git a/printing/ppvernac.ml b/printing/ppvernac.ml
index a1cdfdbaa2..d1158b3d6f 100644
--- a/printing/ppvernac.ml
+++ b/printing/ppvernac.ml
@@ -524,7 +524,16 @@ open Decl_kinds
| PrintStrategy (Some qid) ->
keyword "Print Strategy" ++ pr_smart_global qid
- let pr_using e = str (Proof_using.to_string e)
+ let pr_using e =
+ let rec aux = function
+ | SsEmpty -> "()"
+ | SsType -> "(Type)"
+ | SsSingl (_,id) -> "("^Id.to_string id^")"
+ | SsCompl e -> "-" ^ aux e^""
+ | SsUnion(e1,e2) -> "("^aux e1 ^" + "^ aux e2^")"
+ | SsSubstr(e1,e2) -> "("^aux e1 ^" - "^ aux e2^")"
+ | SsFwdClose e -> "("^aux e^")*"
+ in Pp.str (aux e)
let rec pr_vernac_body v =
let return = tag_vernac v in
diff --git a/printing/ppvernac.mli b/printing/ppvernac.mli
index b88eed4843..cf27b413c0 100644
--- a/printing/ppvernac.mli
+++ b/printing/ppvernac.mli
@@ -15,5 +15,8 @@ val pr_rec_definition : (Vernacexpr.fixpoint_expr * Vernacexpr.decl_notation lis
(** Prints a vernac expression *)
val pr_vernac_body : Vernacexpr.vernac_expr -> Pp.t
+(** Prints a "proof using X" clause. *)
+val pr_using : Vernacexpr.section_subset_expr -> Pp.t
+
(** Prints a vernac expression and closes it with a dot. *)
val pr_vernac : Vernacexpr.vernac_expr -> Pp.t