aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/subtac/g_subtac.ml45
-rw-r--r--plugins/subtac/subtac_coercion.ml14
-rw-r--r--plugins/subtac/subtac_obligations.ml1
-rw-r--r--plugins/subtac/subtac_obligations.mli1
4 files changed, 14 insertions, 7 deletions
diff --git a/plugins/subtac/g_subtac.ml4 b/plugins/subtac/g_subtac.ml4
index fe272edd50..6d4eaabed9 100644
--- a/plugins/subtac/g_subtac.ml4
+++ b/plugins/subtac/g_subtac.ml4
@@ -156,6 +156,11 @@ VERNAC COMMAND EXTEND Subtac_Set_Solver
(Tacinterp.glob_tactic t) ]
END
+VERNAC COMMAND EXTEND Subtac_Show_Solver
+| [ "Show" "Obligation" "Tactic" ] -> [
+ Pp.msgnl (Pptactic.pr_glob_tactic (Global.env ()) (Subtac_obligations.default_tactic_expr ())) ]
+END
+
VERNAC COMMAND EXTEND Subtac_Show_Obligations
| [ "Obligations" "of" ident(name) ] -> [ Subtac_obligations.show_obligations (Some name) ]
| [ "Obligations" ] -> [ Subtac_obligations.show_obligations None ]
diff --git a/plugins/subtac/subtac_coercion.ml b/plugins/subtac/subtac_coercion.ml
index 8cf28a0dd6..9161d88870 100644
--- a/plugins/subtac/subtac_coercion.ml
+++ b/plugins/subtac/subtac_coercion.ml
@@ -175,13 +175,13 @@ module Coercion = struct
let c2 = coerce_unify env' (subst1 coec1 (liftn 1 2 b)) b' in
(* env, x : a' |- c2 : b[c1[x]/x]] > b' *)
(match c1, c2 with
- None, None -> failwith "subtac.coerce': Should have detected equivalence earlier"
- | _, _ ->
- Some
- (fun f ->
- mkLambda (name', a',
- app_opt c2
- (mkApp (Term.lift 1 f, [| coec1 |])))))
+ | None, None -> None
+ | _, _ ->
+ Some
+ (fun f ->
+ mkLambda (name', a',
+ app_opt c2
+ (mkApp (Term.lift 1 f, [| coec1 |])))))
| App (c, l), App (c', l') ->
(match kind_of_term c, kind_of_term c' with
diff --git a/plugins/subtac/subtac_obligations.ml b/plugins/subtac/subtac_obligations.ml
index e506e7e511..5766c0641a 100644
--- a/plugins/subtac/subtac_obligations.ml
+++ b/plugins/subtac/subtac_obligations.ml
@@ -648,3 +648,4 @@ let next_obligation n =
in solve_obligation prg i
let default_tactic () = !default_tactic
+let default_tactic_expr () = !default_tactic_expr
diff --git a/plugins/subtac/subtac_obligations.mli b/plugins/subtac/subtac_obligations.mli
index d32653b095..5b7a4f7d0e 100644
--- a/plugins/subtac/subtac_obligations.mli
+++ b/plugins/subtac/subtac_obligations.mli
@@ -17,6 +17,7 @@ type progress = (* Resolution status of a program *)
val set_default_tactic : bool -> Tacexpr.glob_tactic_expr -> unit
val default_tactic : unit -> Proof_type.tactic
+val default_tactic_expr : unit -> Tacexpr.glob_tactic_expr
val set_proofs_transparency : bool -> unit (* true = All transparent, false = Opaque if possible *)
val get_proofs_transparency : unit -> bool