Reasoning with the Formal Definition of Standard ML (1993) [18 citations — 0 self]
Abstract:
This paper describes the results of a project to embed the Formal Definition of the Standard ML Core language into the HOL mechanized reasoning system. HOL theories of the Core syntax and dynamic semantics are presented, including a purely definitional representation of the semantic inference rules. The correctness of the representation is demonstrated by the derivation of several important language properties, including determinacy. A symbolic evaluator to assist in proving properties of Standard ML program fragments is also described. Some sample applications of the theory in the area of program verification are given. A recurring theme in the work is the need for logical precision in all aspects of a HOL representation.
Citations
| 1463 | The Definition of Standard ML – Milner, Tofte, et al. - 1990 |
| 1128 | Monads for functional programming – Wadler - 1992 |
| 101 | Elements of Functional Programming – Reade - 1989 |
| 35 | The Standard ML core language – MILNER - 1985 |
| 35 | The Definition of Standard ML (Version 2 – Harper, Milner, et al. - 1988 |
| 3 | A package for inductive relation definitions – Melham - 1991 |
| 2 | Mechanizing programming languages – Gordon - 1988 |
| 2 | Automating mutually recursive type definitions in HOL – Russo - 1992 |
| 1 | A verification environment for ML – Cant, Ozols - 1992 |
| 1 | Gordon et al. The HOL System Description – Michael - 1989 |
| 1 | Machine assisted reasoning about Standard ML using HOL – Hutchins - 1990 |
| 1 | Lecture notes on language semantics – Milner |
| 1 | Mutually recursive inductive relation definitions – Onate-Ruxos - 1993 |

