From a164eaafad33ccbc2b0bdbb75147a54ebe3a9848 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Mon, 29 Jun 2020 15:00:28 +0200 Subject: [obligations] Allow to simultaneously open a proof and add obligations --- vernac/vernacextend.ml | 1 + vernac/vernacextend.mli | 1 + vernac/vernacinterp.ml | 3 +++ 3 files changed, 5 insertions(+) (limited to 'vernac') 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. *) -- cgit v1.2.3