package rocq-runtime
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=8d522602d23e7a665631826dab9aa92b
sha512=f4f76a6a178e421c99ee7a331a2fd97a06e9c5d0168d7e60c44e3820d8e1a124370ea104ad90c7f87a9a1e9d87b2d0d7d2d387c998feeaed4a75ed04e176a4be
doc/rocq-runtime.engine/Proofview/Unsafe/index.html
Module Proofview.UnsafeSource
The primitives in the Unsafe module should be avoided as much as possible, since they can make the proof state inconsistent. They are nevertheless helpful, in particular when interfacing the pretyping and the proof engine.
tclEVARS sigma replaces the current evar_map by sigma. If sigma has new unresolved evar-s they will not appear as goal. If goals have been solved in sigma they will still appear as unsolved goals.
Like tclEVARS but also checks whether goals have been solved.
Set the global environment of the tactic
tclNEWGOALS ~before gls adds the goals gls to the ones currently being proved. If before is true, it prepends them to the list of focused goals, otherwise it appends them (default). If a goal is already solved, it is not added.
tclNEWSHELVED gls adds the goals gls to the shelf. If a goal is already solved, it is not added.
tclSETGOALS gls sets goals gls as the goals being under focus. If a goal is already solved, it is not set.
tclGETGOALS returns the list of goals under focus.
Clears the future goals store in the proof view.
Give the evars the status of a goal (changes their source location and makes them unresolvable for type classes.
Make some evars unresolvable for type classes. We need two functions as some functions use the proofview and others directly manipulate the undelying evar_map.
advance sigma g returns Some g' if g' is undefined and is the current avatar of g (for instance g was changed by clear into g'). It returns None if g has been (partially) solved.
val undefined :
Evd.evar_map ->
Proofview_monad.goal_with_state list ->
Proofview_monad.goal_with_state listundefined sigma l applies advance to the goals of l, then returns the subset of resulting goals which have not yet been defined