VernactypesSourceInterpretation of extended vernac phrases.
Useful for patterns like { no_state with proof = newproof } when modifying a subset of the state.
type 'r typed_vernac_gen = | TypedVernac : {spec : (('inprog, 'outprog) Prog.t,
('inproof, 'outproof) Proof.t,
'inaccess OpaqueAccess.t)
state_gen;run : ('inprog, 'inproof, 'inaccess) state_gen ->
('outprog, 'outproof, unit) state_gen * 'r;} -> 'r typed_vernac_genval typed_vernac_gen :
(('inprog, 'outprog) Prog.t,
('inproof, 'outproof) Proof.t,
'inaccess OpaqueAccess.t)
state_gen ->
(('inprog, 'inproof, 'inaccess) state_gen ->
('outprog, 'outproof, unit) state_gen * 'r) ->
'r typed_vernac_genval typed_vernac :
(('inprog, 'outprog) Prog.t,
('inproof, 'outproof) Proof.t,
'inaccess OpaqueAccess.t)
state_gen ->
(('inprog, 'inproof, 'inaccess) state_gen ->
('outprog, 'outproof, unit) state_gen) ->
typed_vernacSome convenient typed_vernac constructors. Used by coqpp.
val vtcloseproof :
(lemma:Declare.Proof.t -> pm:Declare.OblState.t -> Declare.OblState.t) ->
typed_vernacval vtopenproofprogram :
(pm:Declare.OblState.t -> Declare.OblState.t * Declare.Proof.t) ->
typed_vernac