\documentclass[10pt]{article} \usepackage{charter} \addtolength\textwidth{1cm} \addtolength\textheight{2cm} \pagestyle{empty} \begin{document} \section*{Emacs HOL mode commands} All of these commands are executed by first typing the HOL prefix (Meta-h, or {\tt Esc}-h) and then the appropriate letter. \begin{description} \small \item [h ``hol98''] Starts the HOL session. \item [C-c ``hol-interrupt''] Interrupts the HOL session. Useful for those tactics that don't always return. \item [C-l ``hol-recentre''] Recentres the screen that HOL is running in, so that the most text is visible with the bottom of the text at the bottom of the screen. \item [C-v ``hol-scroll-up''] Scrolls the HOL window. \item [C-t ``hol-toggle-show-types''] Toggles the value of the {\tt show\_types} variable, affecting how terms are printed. \item [M-b ``backward-hol-tactic''] Moves the cursor back over the previous tactic in the source text in the current buffer. With a \emph{prefix argument}, moves back that many tactics. \item [M-f ``forward-hol-tactic''] Moves the cursor forward over the next tactic in the source text in the current buffer. With a \emph{prefix argument}, moves that many. \item [M-r ``send-region''] Sends the \emph{region} to the HOL process, where it is evaluated at the top level. Can be used both to define new ML bindings, and to evaluate epxressions. \item [M-v ``hol-scroll-down''] Scrolls the HOL window. \item [b ``hol-backup''] Backs up one stage in the goalstack. \item [d r ``hol-drop-goal''] Drops the current goal, removing it from the goal-stack entirely. \item [e ``expand-hol-tactic''] Sends the region to the HOL process as a tactic, where it is applied to the current goal. \item [g ``hol-goal''] Sets the current goal. Sends the term at point (delimited on both sides by back-quotes) to the HOL process. With a \emph{prefix argument}, or if in transient mark mode with an active region, sends the selected region as the goal instead. \item [l ``hol-load-file''] Loads a HOL library. If there is a region marked, uses that string as the library to load. Otherwise, if the cursor (point) is over a likely name, it uses that for the library to load. As a last resort (or in all situations, if there is a \emph{prefix argument}), prompts for the name of the library. \item [n ``hol-name-top-theorem''] Prompts for a name to give to the ``top theorem'' (i.e., the theorem just proved in the goalstack). With a \emph{prefix argument} also drops the goal. \item [p ``hol-print''] Prints the top goal in the goalstack. \item [r ``hol-rotate''] Rotates goals in the goalstack. With a numeric \emph{prefix argument} rotates that many out of the way, instead of just one. \item [R ``hol-restart''] Restarts the current proof. \item [s ``send-string-to-hol''] Prompts for a string to be evaluated by SML, like ``M-r''. \item [t ``mark-hol-tactic''] Marks the tactic at point, putting mark at the start of the tactic, and point at the end. Useful as a prelude to applying the tactic with ``expand-hol-tactic''. \item [u ``hol-use-file''] Prompts for a file-name to be \emph{use}-d at the top level. \end{description} \end{document}