diff options
| author | Emilio Jesus Gallego Arias | 2020-06-29 15:00:28 +0200 |
|---|---|---|
| committer | Emilio Jesus Gallego Arias | 2020-07-08 15:12:46 +0200 |
| commit | a164eaafad33ccbc2b0bdbb75147a54ebe3a9848 (patch) | |
| tree | 1c400f9ee578e30571f0dd38b3d62370c1bf35a4 /vernac | |
| parent | 1954fb6cb6f854c59d7905163ae9b84901edd863 (diff) | |
[obligations] Allow to simultaneously open a proof and add obligations
Diffstat (limited to 'vernac')
| -rw-r--r-- | vernac/vernacextend.ml | 1 | ||||
| -rw-r--r-- | vernac/vernacextend.mli | 1 | ||||
| -rw-r--r-- | vernac/vernacinterp.ml | 3 |
3 files changed, 5 insertions, 0 deletions
diff --git a/vernac/vernacextend.ml b/vernac/vernacextend.ml index 7317818730..496b1a43d1 100644 --- a/vernac/vernacextend.ml +++ b/vernac/vernacextend.ml @@ -63,6 +63,7 @@ type typed_vernac = | VtReadProgram of (pm:Declare.OblState.t -> unit) | VtModifyProgram of (pm:Declare.OblState.t -> Declare.OblState.t) | VtDeclareProgram of (pm:Declare.OblState.t -> Declare.Proof.t) + | VtOpenProofProgram of (pm:Declare.OblState.t -> Declare.OblState.t * Declare.Proof.t) type vernac_command = atts:Attributes.vernac_flags -> typed_vernac diff --git a/vernac/vernacextend.mli b/vernac/vernacextend.mli index a24bb9b302..5ef137cfc0 100644 --- a/vernac/vernacextend.mli +++ b/vernac/vernacextend.mli @@ -81,6 +81,7 @@ type typed_vernac = | VtReadProgram of (pm:Declare.OblState.t -> unit) | VtModifyProgram of (pm:Declare.OblState.t -> Declare.OblState.t) | VtDeclareProgram of (pm:Declare.OblState.t -> Declare.Proof.t) + | VtOpenProofProgram of (pm:Declare.OblState.t -> Declare.OblState.t * Declare.Proof.t) type vernac_command = atts:Attributes.vernac_flags -> typed_vernac diff --git a/vernac/vernacinterp.ml b/vernac/vernacinterp.ml index 898506fdbc..6be2fb0d43 100644 --- a/vernac/vernacinterp.ml +++ b/vernac/vernacinterp.ml @@ -54,6 +54,9 @@ let interp_typed_vernac c ~pm ~stack = | VtDeclareProgram f -> let lemma = f ~pm in Some (Vernacstate.LemmaStack.push stack lemma), pm + | VtOpenProofProgram f -> + let pm, lemma = f ~pm in + Some (Vernacstate.LemmaStack.push stack lemma), pm (* Default proof mode, to be set at the beginning of proofs for programs that cannot be statically classified. *) |
