Reasoning with the Formal Definition of Standard ML in HOL

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.

[1]  Chris Reade,et al.  Elements of functional programming , 1989, International computer science series.

[2]  Michael J. C. Gordon,et al.  Mechanizing programming logics in higher order logic , 1989 .

[3]  Robin Milner,et al.  Definition of standard ML , 1990 .

[4]  Robin Milner,et al.  Commentary on standard ML , 1990 .

[5]  Robert S. Boyer,et al.  Computational Logic , 1990, ESPRIT Basic Research Series.

[6]  Thomas F. Melham A Package For Inductive Relation Definitions In HOL , 1991, 1991., International Workshop on the HOL Theorem Proving System and Its Applications.