diff options
| -rw-r--r-- | proofs/proofview.ml | 10 | ||||
| -rw-r--r-- | proofs/proofview.mli | 7 |
2 files changed, 17 insertions, 0 deletions
diff --git a/proofs/proofview.ml b/proofs/proofview.ml index 15110a67c9..a8b77e225f 100644 --- a/proofs/proofview.ml +++ b/proofs/proofview.ml @@ -799,6 +799,16 @@ module Unsafe = struct { step with comb = step.comb @ gls } end + let tclGETGOALS = + let open Proof in + Pv.get >>= begin fun step -> tclUNIT step.comb end + + let tclSETGOALS gls = + Pv.modify begin fun step -> + let gls = undefined step.solution gls in + { step with comb = gls } + end + let tclEVARSADVANCE evd = Pv.modify (fun ps -> { solution = evd; comb = undefined evd ps.comb }) diff --git a/proofs/proofview.mli b/proofs/proofview.mli index 796a6a7baa..b758559beb 100644 --- a/proofs/proofview.mli +++ b/proofs/proofview.mli @@ -380,6 +380,13 @@ module Unsafe : sig goal is already solved, it is not added. *) val tclNEWGOALS : Goal.goal list -> unit tactic + (** [tclSETGOALS gls] sets goals [gls] as the goals being under focus. If a + goal is already solved, it is not set. *) + val tclSETGOALS : Goal.goal list -> unit tactic + + (** [tclGETGOALS] returns the list of goals under focus. *) + val tclGETGOALS : Goal.goal list tactic + (** Sets the evar universe context. *) val tclEVARUNIVCONTEXT : Evd.evar_universe_context -> unit tactic |
