next up previous contents index
Next: Rule Interpreter Up: Proof Compression and Previous: Introduction

Editing Proof Scripts

Editing facilities are provided for proof-scripts, as are tactics for explicitly executing a proof-script on a node of a proof. These are particularly of use when fixing proof-scripts that have broken due to changes in tactics or the library context.

Proof scripts are Lisp data structures. They are made editable by translating to and from `proof-script terms' or `ps-terms' for short. An example display of a ps-term  is:

Figure gif summarizes the structure of ps-terms.

  
Figure: Proof-Script Terms

The `alias'  column gives the name by which proof-script nodes can be entered. Proof-script subtrees are considered to be a term sequence, and the usual term sequence editing commands work with them. The addr  fields in ps-terms are for tree addresses in the same format as used in proofs. They serve solely as a guide the user; they have no logical significance. Users should never need to explicitly fill these addresses in. Instead, the addresses are generated by ML functions that build proof script terms.

Useful ML functions include:

psterm_of_thm_object nam:tok = psterm:term

psterm_anno psterm:term = psterm':term

 

RunPSTerm psterm:term = T:tactic

 



Karla Consroe
Wed Oct 23 13:48:45 EDT 1996