Hostname: page-component-cd9895bd7-p9bg8 Total loading time: 0 Render date: 2024-12-25T18:57:35.723Z Has data issue: false hasContentIssue false

A combinatory account of internal structure

Published online by Cambridge University Press:  12 March 2014

Barry Jay
Affiliation:
University of Technology Sydney, School of Software, P.O. Box 123, Broadway, 2007, Australia, E-mail: Barry.Jay@uts.edu.au, E-mail: Thomas.Given-Wilson@uts.edu.au
Thomas Given-Wilson
Affiliation:
University of Technology Sydney, School of Software, P.O. Box 123, Broadway, 2007, Australia, E-mail: Barry.Jay@uts.edu.au, E-mail: Thomas.Given-Wilson@uts.edu.au

Abstract

Traditional combinatory logic uses combinators S and K to represent all Turing-computable functions on natural numbers, but there are Turing-computable functions on the combinators themselves that cannot be so represented, because they access internal structure in ways that S and K cannot. Much of this expressive power is captured by adding a factorisation combinator F. The resulting SF-calculus is structure complete, in that it supports all pattern-matching functions whose patterns are in normal form, including a function that decides structural equality of arbitrary normal forms. A general characterisation of the structure complete, confluent combinatory calculi is given along with some examples. These are able to represent all their Turing-computable functions whose domain is limited to normal forms. The combinator F can be typed using an existential type to represent internal type information.

Type
Research Article
Copyright
Copyright © Association for Symbolic Logic 2011

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

REFERENCES

[1]Barendregt, Henk P., The lambda calculus. Its syntax and semantics, Studies in Logic and the Foundations of Mathematics, Elsevier, 1985.Google Scholar
[2]Burstall, R. M., Proving properties of programs by structural induction, The Computer Journal, vol. 12 (1969), no. 1, pp. 4148.CrossRefGoogle Scholar
[3]Church, Alonzo, An unsolvable problem of elementary number theory, American Journal of Mathematics, vol. 58 (1936), no. 2, pp. 345363.CrossRefGoogle Scholar
[4]Curry, H. B. and Feys, R., Combinatory logic, Studies in Logic and the Foundations of Mathematics, vol. I, North-Holland, Amsterdam, 1958.Google Scholar
[5]Curry, H. B., Hindley, J. R., and Seldin, J. P., Combinatory logic, Studies in Logic and the Foundations of Mathematics, vol. II, North-Holland, Amsterdam, 1972.Google Scholar
[6]Girard, J. Y., Une extension de l'interpretation de Gödela l'analyse, et son application a l'élimination des coupures dans l'analyse et la theorie des types, 2nd Scandinavian logic symposium (Fenstad, J. E., editor), Springer Verlag, 1971.Google Scholar
[7]Girard, J-Y., Lafont, Y., and Taylor, P., Proofs and types, Tracts in Theoretical Computer Science, Cambridge University Press, 1989.Google Scholar
[8]Given-Wilson, Thomas, Interpreting the untyped pattern calculus in bondi, Honours Thesis, University of Technology, Sydney, Australia, 08 2007.Google Scholar
[9]Gunter, C. A. and Scott, D. S., Semantic domains, Handbook of theoretical computer science (van Leeuwen, J., editor), vol. B: Formal Models and Semantics, MIT Press, 1990.Google Scholar
[10]Hindley, J. Roger and Seldin, Jonathan P., Introduction to combinators and λ-calculus, Cambridge University Press, New York, NY, USA, 1986.Google Scholar
[11]Huet, Gérard, Confluent reductions: Abstract properties and applications to term rewriting systems, Journal of the ACM, vol. 27 (1980), no. 4, pp. 797821.CrossRefGoogle Scholar
[12]Jay, Barry, Pattern calculus: Computing with Junctions and data structures, Springer, 2009.CrossRefGoogle Scholar
[13]Jay, Barry and Kesner, Delia, Pure pattern calculus, Programming languages and systems, 15th European Symposium on Programming, ESOP 2006 (Sestoft, P., editor), Lecture Notes in Computer Science, vol. 3924, Springer, 2006, pp. 100114.Google Scholar
[14]Jay, Barry and Kesner, Delia, First-class patterns, Journal of Functional Programming, vol. 19 (2009), no. 2, pp. 191225.CrossRefGoogle Scholar
[15]Jay, C. B., The pattern calculus, ACM Transactions on Programming Languages and Systems (TOPLAS), vol. 26 (2004), no. 6, pp. 911937.CrossRefGoogle Scholar
[16]Kearns, John T., Combinatory logic with discriminators, this Journal, vol. 34 (1969), no. 4, pp. 561575.Google Scholar
[17]Kearns, John T., The completeness of combinatory logic with discriminators, Notre Dame Journal of Formal Logic, vol. 14 (1973), no. 3, pp. 323330.CrossRefGoogle Scholar
[18]Kleene, S. C., Introduction to metamathematics, North-Holland, 1952, (originally published by D. Van Nostrand).Google Scholar
[19]Lambek, J. and Scott, P. J., Introduction to higher-order categorical logic, Cambridge Studies in Advanced Mathematics, vol. 7, Cambridge University Press, 1986.Google Scholar
[20]McCarthy, John, Recursive functions of symbolic expressions and their computation by machine, Part I, Communications of the ACM, vol. 3 (1960), no. 4, pp. 184195.CrossRefGoogle Scholar
[21]Rosen, Barry K., Tree-manipulating systems and Church–Rosser theorems, Journal of the ACM, vol. 20 (1973), no. 1, pp. 160187.CrossRefGoogle Scholar
[22]Schönfinkel, M., Über die Bausteine der mathematischen Logik, Mathematische Annalen, vol. 92 (1924), no. 3–4, pp. 305316.CrossRefGoogle Scholar
[23]Tarski, A., Logic, semantics, metamathematics, Oxford University Press, 1956.Google Scholar
[24]Turing, Alan M., Computability and λ-definability, this Journal, vol. 2 (1937), no. 4, pp. 153163.Google Scholar
[25]Wagner, Eric G., Uniformly reflexive structures: On the nature of Gödelizations and relative computability, Transactions of the American Mathematical Society, vol. 144 (1969), pp. 141.Google Scholar