Module Proofview_monad
This file defines the datatypes used as internal states by the tactic monad, and specialises the Logic_monad to these types. It should not be used directly. Consider using Proofview instead.
Traces
module Trace : sig ... endState types
type lazy_msg= Environ.env -> Evd.evar_map -> Pp.tWe typically label nodes of
Trace.treewith messages to print. But we don't want to compute the result.
module Info : sig ... endInfo trace.
module StateStore : Store.Stype goal= Evar.ttype goal_with_state
val drop_state : goal_with_state -> goalval get_state : goal_with_state -> StateStore.tval goal_with_state : goal -> StateStore.t -> goal_with_stateval with_empty_state : goal -> goal_with_stateval map_goal_with_state : (goal -> goal) -> goal_with_state -> goal_with_state
type proofview={solution : Evd.evar_map;comb : goal_with_state list;shelf : goal list;}Type of proof views: current
evar_maptogether with the list of focused goals.
Instantiation of the logic monad
module P : sig ... endmodule Logical : module type of sig ... endLenses to access to components of the states
module type State = sig ... endmodule type Writer = sig ... endmodule Solution : State with type t := Evd.evar_mapLens to the
evar_mapof the proofview.
module Comb : State with type t = goal_with_state listLens to the list of focused goals.
module Env : State with type t := Environ.envLens to the global environment.
module Shelf : State with type t = goal listLens to the list of goals which have been shelved during the execution of the tactic.
module Giveup : Writer with type t = goal listLens to the list of goals which were given up during the execution of the tactic.
module InfoL : sig ... endLens and utilities pertaining to the info trace