diff options
author | Son Ho | 2023-05-18 15:59:08 +0200 |
---|---|---|
committer | Son HO | 2023-06-04 21:54:38 +0200 |
commit | 8500a6ad00b21287850faa12d81a59fa46ca0848 (patch) | |
tree | df5cd2c31480566869e0558c512377718df88174 /backends/hol4/evalLib.sig | |
parent | 7a39a2c8f7608ca7dd337fd7fc6ff9a56be33de0 (diff) |
Commit evalLib
Diffstat (limited to '')
-rw-r--r-- | backends/hol4/evalLib.sig | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/backends/hol4/evalLib.sig b/backends/hol4/evalLib.sig new file mode 100644 index 00000000..d045d3bb --- /dev/null +++ b/backends/hol4/evalLib.sig @@ -0,0 +1,26 @@ +signature evalLib = +sig + (* This module implements [eval_conv], which supersedes EVAL_CONV by + allowing to use custom unfolding theorems. This is particularly + useful for divDefLib, which returns rewriting theorems to the user + which are actually not definitional theorems. + *) + + include Abbrev + + (* The following functions allow to register custom unfolding theorems *) + (* TODO: permanence of theorems? *) + val add_unfold : term * thm -> unit + val add_unfolds : (term * thm) list -> unit + val add_unfold_thm : thm -> unit + val add_unfold_thms : thm list -> unit + + (* Get the unfolding theorems *) + val get_unfold_thms : unit -> thm list + + (* The custom "eval" conversion *) + val eval_conv : conv + + (* The custom "eval" function *) + val eval : term -> term +end |