Harpoon.HarpoonStatemodule Disambiguation_state =
Beluga_parser.Disambiguation_state.Disambiguation_statemodule Indexing_state = Beluga.Index_state.Indexing_statetype substate = {session : Session.t;theorem : Theorem.t;proof_state : Beluga_syntax.Synint.Comp.proof_state;}exception No_theorem of Session.tval make :
(Disambiguation_state.state Beluga_syntax.Id.Prog.Hashtbl.t
* Disambiguation_state.state) ->
(Indexing_state.state Beluga_syntax.Id.Prog.Hashtbl.t * Indexing_state.state) ->
Options.save_mode ->
Options.interaction_mode ->
string ->
string list ->
Io.t ->
Beluga_syntax.Synint.Comp.open_subgoal list ->
tval printf : t -> ('a, Support.Format.formatter, unit) Stdlib.format -> 'aPrints a message to the user.
val defer_session : t -> unitMoves the current session to the bottom of the session stack, selecting the next one.
val session_configuration_wizard : t -> boolConfigures a new session interactively and adds it to the state. Returns whether the new session was indeed added. A session is not added when the user aborts the configuration process.
val select_theorem : t -> Beluga_syntax.Name.t -> boolval automation_state : t -> Automation.State.tval interaction_mode : t -> Options.interaction_modeGets the interaction mode of the prover.
val is_complete : t -> boolDecides whether there are any sessions in the theorem.
To be called by the REPL when a session is completed. This function analyzes the current save_mode and proceeds accordingly.
Serializes the current state back to the loaded signature, preserving prover focus on the given state substate.
val fmt_ppr_session_list : Support.Format.formatter -> t -> unitPrints a vertical, enumerated list of all sessions in this state, together with every theorem within each session.