diff options
author | mark <> | 2012-02-16 17:09:21 +0000 |
---|---|---|
committer | mark <> | 2012-02-16 17:09:21 +0000 |
commit | af9234996fb53a4e7c0ec404d8dd275df17f1ccd (patch) | |
tree | f82922967f145b50480494b041178b82e36c5e1c /hol-light/TacticRecording/INSTRUCTIONS | |
parent | e4438b2984cadf3e60935cb1e37be55e63f063a0 (diff) |
First version of HOL Light tactic recording.
See INSTRUCTIONS and LIMITATIONS files for more details.
Currently works for flattening "packaged-up" tactic proofs into g/e commands.
Won't work for most proofs because most tactics/thms haven't been promoted.
Support for exporting proof graph as a series of goal pairs.
Support for displaying extra information to be intercepter by PG for Prooftree.
Diffstat (limited to 'hol-light/TacticRecording/INSTRUCTIONS')
-rw-r--r-- | hol-light/TacticRecording/INSTRUCTIONS | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/hol-light/TacticRecording/INSTRUCTIONS b/hol-light/TacticRecording/INSTRUCTIONS new file mode 100644 index 00000000..86380b93 --- /dev/null +++ b/hol-light/TacticRecording/INSTRUCTIONS @@ -0,0 +1,36 @@ +To use this: +1. first compile HOL Light and any extra files up to the particular proof you want to record; + #use "hol.ml";; + #use .... + +2. Then process the 'main.ml' file + #use "TacticRecording/main.ml";; + +3. Then perform the tactic proof you want to record, using g/e's or prove: + g `...`;; + e (...);; + e (...);; + OR + prove (`...`, ... THEN ... THENL [...]);; + +4. Use the ML export commands to output the proof in the form you want: + + print_executed_proof ();; + - Tries to reproduce the inputted proof verbatim, with steps + corresponding one-to-one to original. + + print_flat_proof ();; + - Prints the proof as a flatten series single-tactic steps, with no + tacticals. + + print_thenl_proof ();; + - Prints the proof as a single-step tactic, connected by THEN for + single goals and THENL for multiple goals. This structure directly + reflects the tree structure of the proof as it was executed. + + print_optimal_proof ();; + - Like 'print_thenl_proof', but prints a more concise proof, not + necessarily reflecting the original tree structure. Currently this + only performs one improvement: seeing where THENL can be replaced + with THEN. + |