aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--printing/printer.ml8
-rw-r--r--proofs/goal.ml3
-rw-r--r--proofs/goal.mli2
3 files changed, 10 insertions, 3 deletions
diff --git a/printing/printer.ml b/printing/printer.ml
index 781f89f1a..2aa9850a8 100644
--- a/printing/printer.ml
+++ b/printing/printer.ml
@@ -392,6 +392,10 @@ let pr_goal_tag g =
let s = " (ID " ^ Goal.uid g ^ ")" in
str (emacs_str s)
+(* display a goal name *)
+let pr_goal_name sigma g =
+ str " " ++ Pp.surround (pr_id (Goal.goal_ident sigma g))
+
(* display the conclusion of a goal *)
let pr_concl n sigma g =
let (g,sigma) = Goal.V82.nf_evar sigma g in
@@ -439,7 +443,7 @@ let default_pr_subgoal n sigma =
| g::rest ->
if Int.equal p 1 then
let pg = default_pr_goal { sigma=sigma ; it=g; } in
- v 0 (str "subgoal " ++ int n ++ pr_goal_tag g
+ v 0 (str "subgoal " ++ int n ++ pr_goal_tag g ++ pr_goal_name sigma g
++ str " is:" ++ cut () ++ pg)
else
prrec (p-1) rest
@@ -543,7 +547,7 @@ let default_pr_subgoals ?(pr_first=true) close_cmd sigma seeds shelf stack goals
let pg = default_pr_goal { it = g ; sigma = sigma; } in
v 0 (
str "1" ++ focused_if_needed ++ str"subgoal" ++ print_extra
- ++ pr_goal_tag g ++ cut () ++ pg
+ ++ pr_goal_tag g ++ pr_goal_name sigma g ++ cut () ++ pg
++ emacs_print_dependent_evars sigma seeds
)
| g1::rest ->
diff --git a/proofs/goal.ml b/proofs/goal.ml
index dc55c8179..55de87261 100644
--- a/proofs/goal.ml
+++ b/proofs/goal.ml
@@ -31,9 +31,10 @@ type goal = {
(* spiwack: I don't deal with the tags, yet. It is a worthy discussion
whether we do want some tags displayed besides the goal or not. *)
-
let pr_goal {content = e} = str "GOAL:" ++ Pp.int (Evar.repr e)
+let goal_ident sigma {content = e} = Evd.evar_ident e sigma
+
(* access primitive *)
(* invariant : [e] must exist in [em] *)
let content evars { content = e } = Evd.find evars e
diff --git a/proofs/goal.mli b/proofs/goal.mli
index 4d3361b0e..4b85ec20b 100644
--- a/proofs/goal.mli
+++ b/proofs/goal.mli
@@ -25,6 +25,8 @@ val get_by_uid : string -> goal
(* Debugging help *)
val pr_goal : goal -> Pp.std_ppcmds
+val goal_ident : Evd.evar_map -> goal -> Names.Id.t
+
(* [advance sigma g] returns [Some g'] if [g'] is undefined and
is the current avatar of [g] (for instance [g] was changed by [clear]
into [g']). It returns [None] if [g] has been (partially) solved. *)