Hol-ml
نویسندگان
چکیده
We describe here HOL-ML, an encoding of a subset of SML and its dynamic semantics (as described by The Definition of Standard ML) in HOL. This encoding, which is the first stage in a project that will include typechecking and SML Modules, allows the formal study of the evaluation of a real programming language including state and control constructs (exceptions). In this paper we describe the subset of SML that we encoded and the semantic objects needed for its evaluation. We explain how we defined the evaluation rules and how we proved that evaluation is deterministic. We describe briefly the next step, which is to define a larger language that includes type declarations and to define the typechecking rules on it. Finally, we give a short description of the mutually recursive type definition package that we wrote to enable us to define the types we needed to create the HOL-ML grammar.
منابع مشابه
Reasoning with the Formal Definition of Standard ML in HOL
This paper describes the results of a project to embed the Formal Deenition 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 deenitional representation of the semantic inference rules. The correctness of the representation is demonstrated by the derivation of several important langu...
متن کاملSteps towards Verified Implementations of HOL Light
This short paper describes our plans and progress towards construction of verified ML implementations of HOL Light: the first formally proved soundness result for an LCF-style prover. Building on Harrison’s formalisation of the HOL Light logic and our previous work on proof-producing synthesis of ML, we have produced verified implementations of each of HOL Light’s kernel functions. What remains...
متن کاملCode generation from Isabelle/HOL theories
This tutorial introduces the code generator facilities of Isabelle/HOL. They empower the user to turn HOL specifications into corresponding executable programs in the languages SML, OCaml, Haskell and Scala.
متن کاملA Verified SAT Solver with Two Watched Literals Using Imperative HOL
Based on our earlier formalization of conflict-driven clause learning (CDCL) in Isabelle/HOL, we refine the CDCL calculus further to add an important optimization: two watched literals. We formalize the data structure and the invariants. Then we refine the calculus to an executable SAT solver in Standard ML: Through a chain of refinements, we target Imperative HOL using the Isabelle Refinement ...
متن کامل