Purely functional implementation of a logic
A new approach to the computational implementation of a theorem prover is outlined. Its main feature is that the logic is defined as a data type within a purely functional programming language. Its principle advantages are the brevity and simplicity of an implementation. As an example, the program to implement a polymorphic, higher-order logic is only half a dozen pages long. Such a program can very effectively serve as a formal specification of a logic.
KeywordsData Type Support Signature Computational Implementation Constructor Function Logical Axiom
Unable to display preview. Download preview PDF.
- [BG78]Burstall, R.M., and Goguen, J.A., “Putting theories together to make specifications”, Proc 5th IJCAI, pp1045–58, 1978Google Scholar
- [dB72]de Bruijn, N.G., “Lambda Calculus Notation with Nameless Dummies”, pp381–392, Koninkl. Nederl. Akademie van Wetenschappen, 1972.Google Scholar
- [GMW79]Gordon, M., Milner, R. and Wadsworth, C., “Edinburgh LCF”, Springer-Verlag, 1979.Google Scholar
- [HD85]Hanna, F.K. and Daeche, N., “Specification and Verification using Higher-Order Logic: A Case Study”, Technical Report, University of Kent, 1985.Google Scholar
- [ML84]Martin-Löf, P. “Constructive mathematics and computer programming”, pp501–518, Phil Trans R. Soc. London, A 312, 1984.Google Scholar
- [T84]Turner, D.A. “Functional programs as executable specifications”, in “Mathematical Logic and Programming Languages” ed Hoare and Shepherdson, Prentice Hall, 1984.Google Scholar