aboutsummaryrefslogtreecommitdiffhomepage
path: root/hol-light/TacticRecording/LIMITATIONS
diff options
context:
space:
mode:
authorGravatar mark <>2012-02-16 17:09:21 +0000
committerGravatar mark <>2012-02-16 17:09:21 +0000
commitaf9234996fb53a4e7c0ec404d8dd275df17f1ccd (patch)
treef82922967f145b50480494b041178b82e36c5e1c /hol-light/TacticRecording/LIMITATIONS
parente4438b2984cadf3e60935cb1e37be55e63f063a0 (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/LIMITATIONS')
-rw-r--r--hol-light/TacticRecording/LIMITATIONS18
1 files changed, 18 insertions, 0 deletions
diff --git a/hol-light/TacticRecording/LIMITATIONS b/hol-light/TacticRecording/LIMITATIONS
new file mode 100644
index 00000000..56537d47
--- /dev/null
+++ b/hol-light/TacticRecording/LIMITATIONS
@@ -0,0 +1,18 @@
+ML objects that get recorded need to be promoted
+- and the promoted subgoal package commands don't work for unpromoted ML objects
+- implementor needs to write promotion functions for each type shape
+- implementor needs to apply these promotion functions to lots of tactics/thms
+- user needs to promote their own stuff, e.g. their own rules/thms
+
+Tactic proofs with embedded arbitrary ML are problematic
+- sometimes this can still get recorded, and if so then exported ML will work
+- but exported ML is unlikely to faithfully reproduce original ML text
+
+Limitations in HOL Light's pretty printer for HOL terms
+- it outputs ambiguous expressions without type annotations
+- this is used by my ML exporter
+
+However, in practice the appraoch works well
+- the same old pool of 100 tactics, 100 rules, 1000 theorems get used
+- and any promotion that needs doing is easy anyway
+- hand tweaks are occasionally required for aribitrary ML and type annotations