Proc. of a discussion meeting of the Royal Society of London on Mathematical logic and programming languages
A logical approach to discrete math
A logical approach to discrete math
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
PVS: Combining Specification, Proof Checking, and Model Checking
FMCAD '96 Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
Proof General: A Generic Tool for Proof Development
TACAS '00 Proceedings of the 6th International Conference on Tools and Algorithms for Construction and Analysis of Systems: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
The Seventeen Provers of the World: Foreword by Dana S. Scott (Lecture Notes in Computer Science / Lecture Notes in Artificial Intelligence)
Formal Aspects of Computing
Mechanical Reasoning about Families of UTP Theories
Electronic Notes in Theoretical Computer Science (ENTCS)
Mercurial: The Definitive Guide
Mercurial: The Definitive Guide
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
UTP'06 Proceedings of the First international conference on Unifying Theories of Programming
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
Proceedings of the 8th International Conference on Frontiers of Information Technology
Hi-index | 0.00 |
SAOITHÍN is a theorem prover developed to support the Unifying Theories of Programming (UTP) framework. Its primary design goal was to support the higher-order logic, alphabets, equational reasoning and "programs as predicates" style that is prevalent in much of the UTP literature, from the seminal work by Hoare & He [HH98] onwards. This paper describes the key features of the theorem prover, with an emphasis on the underlying foundations, and how these affect the design and implementation choices. These key features include: a formalisation of a UTP Theory; support for common proof strategies; sophisticated goal/law matching; and user-defined language constructs. A simple theory of designs with some proof extracts is used to illustrate the above features. The theorem prover has been used with undergraduate students and we discuss some of those experiences. The paper then concludes with a discussion of current limitations and planned improvements to the tool.