Download The Nuprl Proof Development System, Version 5 Reference Manual
Transcript
4.3 Library Commands Most library commands are best executed from the navigator may also be invoked from the ML top loop (see Section 4.4). In this section we will describe the usual navigator operation and mention the corresponding commands. Many commands are initiated by clicking the left mouse button on one of the predefined menu buttons in the navigator’s command zone. Often this will pop up a template containing one or several slots into which the user has to enter text or terms. When issuing commands, pressing certain key sequences will have the following effects. • The return key | closes a slot and moves to the next empty slot. If all slots have been filled, it highlights the completed command. Pressing | again then executes the command. • The tabulator key | !| usually cancels a command. • The space key spc moves the cursor back into the navigation zone but leaves the template open. This is helpful for moving objects or link objects in different theories. • As spc is used for the above action, blanks are inserted into a text slot by pressing hS- spc i. • hC- i is used to undo an operation (on a fairly fine level) hC-+i is used to redo an undone operation. • Pressing the left mouse button left usually sets the point to that location. Pressing left while over a menu command button executes the corresponding command. • Pressing the middle mouse button middle usually raises the display form of a term or the code object containing the definition of an ML function. Within the navigation zone, it opens the corresponding object. • Pressing the right mouse button middle raises the abstraction of an object, if there is one. These bindings are also valid in many other editing contexts. 4.3.1 Browsing the Library To browse the library, a user may move a navigation pointer through the current directory by using arrow keys, the mouse, or clicking on one of the arrow buttons ↑↑↑↑, ↓↓↓↓, . . . , ↑, ↓. To move into a directory or to open an object for editing, one uses the right arrow key (or middle-clicks on it with the mouse), to move out of a directory, one moves the navigation pointer to the left. There are also emacs like key bindings to substitute for the arrow keys and buttons for changing the number of visible objects, or screen size. Table 4.1 lists all the key bindings and buttons for moving through the navigator window and manipulating its size. Users may customize these bindings in their mykeys.macro file (see Chapter 3.2.2). 4.3.1.1 Viewing and Editing Objects In order to view or edit an object, one moves the navigation pointer to it and then opens it using the right arrow (or middle ). If the object is not already being viewed, this will pop up a new window and open the appropriate editor: a proof editor (Chapter 6.2) is used on theorem objects, while the term editor (Chapter 5) is used for all other objects. Abstractions and display forms of an abstract term can also be opened when an instance of the term is visible in a term editor. In this case one may click on the term with middle to view the display form and right to view the abstraction. Alternatively one may position the term cursor at the term and type hC-Xidf or hC-Xiab, respectively. Chapter 5.7 gives a detailed description of these term editor utilities. 37