Abstract
Formal methods for hardware design and software engineering have become increasingly essential to avoid costly errors. But, this justification for using formal methods needs to be supported by their ease of use. Classical Higher Order Logic (HOL) has provided a foundation for formal verification. However, specification and verification in HOL is, invariably, fairly involved. Often it is desirable for the specifier to increase one's understanding of the specification by executing the specification. Evaluating specifications prior to embarking on tedious proofs may, at the very outset, lead to uncovering discrepancies, with little effort. This work attempts to provide an environment in HOL in which specifications using a subset of HOL can be executed. We accomplish this by translating HOL terms into ML programs: the translation process being totally automatic. Executing specifications as programs in a formal setting provides a way to guarantee certain properties that need to be satisfied by the specification. Furthermore, we also find that it has a potential to provide a practical insight into the evaluation semantics for classical logic.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: Higher Order Logic Theorem Proving and its Applications
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.