Open jonsterling opened 9 years ago
It probably makes sense to consider the state at a particular time as a zipper. Tactics which are entered at the top-level are applied to the subgoal in focus, and you may zip through the tree using meta-commands.
When the tree has no more holes in it, it is then directly translatable into a single tactic script, where branches are translated using THENL
. The interaction at the top-level, then, is a process by which the operator incrementally constructs a tactic script which proves the main goal.
The new DEVELOPMENT
machinery (which replaces the old LIBRARY
) should be the right basis on which to build this.
It would be nice to work with the refiner interactively (i.e. not just through the SML/NJ top-level).
I think the first step is to get a very simple top-level interface running, like Coq's
coqtop
or Epigram 2'scochon
. This could serve as the basis for a more advanced (perhaps Emacs-based) interface.