Loading…

Programming as a Mathematical Exercise [and Discussion]

This paper contains a formal framework within which logic, set theory and programming are presented together. These elements can be presented together because, in this work, we no longer regard a (procedural) programming notation (such as PASCAL) as a notation for expressing a computation; rather, w...

Full description

Saved in:
Bibliographic Details
Published in:Philosophical transactions of the Royal Society of London. Series A: Mathematical and physical sciences 1984-10, Vol.312 (1522), p.447-473
Main Authors: Abrial, J. R., Shepherdson, J. C., Hillmore, J. S., Constable, R. L.
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by
cites cdi_FETCH-LOGICAL-c421t-3abf336bd3d473bff052b242e889aee77068745ac9a9a5fb67fbfa84d7d26ee3
container_end_page 473
container_issue 1522
container_start_page 447
container_title Philosophical transactions of the Royal Society of London. Series A: Mathematical and physical sciences
container_volume 312
creator Abrial, J. R.
Shepherdson, J. C.
Hillmore, J. S.
Constable, R. L.
description This paper contains a formal framework within which logic, set theory and programming are presented together. These elements can be presented together because, in this work, we no longer regard a (procedural) programming notation (such as PASCAL) as a notation for expressing a computation; rather, we regard it as a mere extension to the conventional language of logic and set theory. The extension constitutes a convenient (economical) way of expressing certain relational statements. A consequence of this point of view is that the activity of program construction is transformed into that of proof construction. To ensure that this activity of proof construction can be given a sound mechanizable foundation, we present a number of theories in the form of some basic deduction and definition rules. For instance, such theories compose the two logical calculi, a weaker version of the standard Zermelo--Fraenkel set theory, as well as some other elementary mathematical theories leading up to the construction of natural numbers. This last theory acts as a paradigm for the construction of other types such as sequences or trees. Parallel to these mathematical constructions we axiomatize a certain programming notation by giving equivalents to its basic constructs within logic and set theory. A number of other non-logical theories are also presented, which allows us to completely mechanize the calculus of proof that is implied by this framework.
doi_str_mv 10.1098/rsta.1984.0070
format article
fullrecord <record><control><sourceid>jstor_highw</sourceid><recordid>TN_cdi_highwire_royalsociety_roypta_312_1522_447</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><jstor_id>37445</jstor_id><sourcerecordid>37445</sourcerecordid><originalsourceid>FETCH-LOGICAL-c421t-3abf336bd3d473bff052b242e889aee77068745ac9a9a5fb67fbfa84d7d26ee3</originalsourceid><addsrcrecordid>eNp9j0tLxDAUhYMoqKNbF666cNsxrybtSsQ3KIrOQhAJt20yk2GmLUlHHX-96VSEQXSVXO4595wPoQOChwRn6bHzLQxJlvIhxhJvoB3CJYlpJuhm-DPB4wSz52206_0UY0JEQneQfHD12MF8bqtxBD6C6A7aiZ5DawuYRRcf2hXW6-gFqjI6t75YeG_r6nUPbRmYeb3__Q7Q6PJidHYd395f3Zyd3sYFp6SNGeSGMZGXrOSS5cbghOaUU52mGWgtJRap5AkUGWSQmFxIkxtIeSlLKrRmAzTszxau9t5poxpn5-CWimDVUauOWnXUqqMOhqPe0IAPAMZBFfr_uDIsBQ1NBoj1MlcvQ_26sLpdqmm9cFUY_z7u_3M9Po1OScb4GyPUkoRShVNGsGSCJOrTNqtznUAFgbLeL7RaydZjfqce9qlT39buB4VJzpOwxP1yYseTd-u0WusWhiYc6_JWSXzFfvKvpUsv6qrVVbtmVGYxm6mmNOwLMju_mg</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Programming as a Mathematical Exercise [and Discussion]</title><source>JSTOR Archival Journals and Primary Sources Collection</source><source>Royal Society Publishing Jisc Collections Royal Society Journals Read &amp; Publish Transitional Agreement 2025 (reading list)</source><creator>Abrial, J. R. ; Shepherdson, J. C. ; Hillmore, J. S. ; Constable, R. L.</creator><creatorcontrib>Abrial, J. R. ; Shepherdson, J. C. ; Hillmore, J. S. ; Constable, R. L.</creatorcontrib><description>This paper contains a formal framework within which logic, set theory and programming are presented together. These elements can be presented together because, in this work, we no longer regard a (procedural) programming notation (such as PASCAL) as a notation for expressing a computation; rather, we regard it as a mere extension to the conventional language of logic and set theory. The extension constitutes a convenient (economical) way of expressing certain relational statements. A consequence of this point of view is that the activity of program construction is transformed into that of proof construction. To ensure that this activity of proof construction can be given a sound mechanizable foundation, we present a number of theories in the form of some basic deduction and definition rules. For instance, such theories compose the two logical calculi, a weaker version of the standard Zermelo--Fraenkel set theory, as well as some other elementary mathematical theories leading up to the construction of natural numbers. This last theory acts as a paradigm for the construction of other types such as sequences or trees. Parallel to these mathematical constructions we axiomatize a certain programming notation by giving equivalents to its basic constructs within logic and set theory. A number of other non-logical theories are also presented, which allows us to completely mechanize the calculus of proof that is implied by this framework.</description><identifier>ISSN: 1364-503X</identifier><identifier>ISSN: 0080-4614</identifier><identifier>EISSN: 1471-2962</identifier><identifier>EISSN: 2054-0272</identifier><identifier>DOI: 10.1098/rsta.1984.0070</identifier><identifier>CODEN: PTRMAD</identifier><language>eng</language><publisher>London: The Royal Society</publisher><subject>Applied sciences ; Computer science; control theory; systems ; Exact sciences and technology ; Logical proofs ; Mathematical functions ; Mathematical logic ; Mathematical relations ; Mathematical sequences ; Mathematical set theory ; Mathematical sets ; Mathematics education ; Natural numbers ; Ordinal notation ; Software ; Software engineering</subject><ispartof>Philosophical transactions of the Royal Society of London. Series A: Mathematical and physical sciences, 1984-10, Vol.312 (1522), p.447-473</ispartof><rights>Copyright 1984 The Royal Society</rights><rights>Scanned images copyright © 2017, Royal Society</rights><rights>1985 INIST-CNRS</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c421t-3abf336bd3d473bff052b242e889aee77068745ac9a9a5fb67fbfa84d7d26ee3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://www.jstor.org/stable/pdf/37445$$EPDF$$P50$$Gjstor$$H</linktopdf><linktohtml>$$Uhttps://www.jstor.org/stable/37445$$EHTML$$P50$$Gjstor$$H</linktohtml><link.rule.ids>314,780,784,27924,27925,58238,58471</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&amp;idt=9076247$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><creatorcontrib>Abrial, J. R.</creatorcontrib><creatorcontrib>Shepherdson, J. C.</creatorcontrib><creatorcontrib>Hillmore, J. S.</creatorcontrib><creatorcontrib>Constable, R. L.</creatorcontrib><title>Programming as a Mathematical Exercise [and Discussion]</title><title>Philosophical transactions of the Royal Society of London. Series A: Mathematical and physical sciences</title><addtitle>Phil. Trans. R. Soc. Lond. A</addtitle><description>This paper contains a formal framework within which logic, set theory and programming are presented together. These elements can be presented together because, in this work, we no longer regard a (procedural) programming notation (such as PASCAL) as a notation for expressing a computation; rather, we regard it as a mere extension to the conventional language of logic and set theory. The extension constitutes a convenient (economical) way of expressing certain relational statements. A consequence of this point of view is that the activity of program construction is transformed into that of proof construction. To ensure that this activity of proof construction can be given a sound mechanizable foundation, we present a number of theories in the form of some basic deduction and definition rules. For instance, such theories compose the two logical calculi, a weaker version of the standard Zermelo--Fraenkel set theory, as well as some other elementary mathematical theories leading up to the construction of natural numbers. This last theory acts as a paradigm for the construction of other types such as sequences or trees. Parallel to these mathematical constructions we axiomatize a certain programming notation by giving equivalents to its basic constructs within logic and set theory. A number of other non-logical theories are also presented, which allows us to completely mechanize the calculus of proof that is implied by this framework.</description><subject>Applied sciences</subject><subject>Computer science; control theory; systems</subject><subject>Exact sciences and technology</subject><subject>Logical proofs</subject><subject>Mathematical functions</subject><subject>Mathematical logic</subject><subject>Mathematical relations</subject><subject>Mathematical sequences</subject><subject>Mathematical set theory</subject><subject>Mathematical sets</subject><subject>Mathematics education</subject><subject>Natural numbers</subject><subject>Ordinal notation</subject><subject>Software</subject><subject>Software engineering</subject><issn>1364-503X</issn><issn>0080-4614</issn><issn>1471-2962</issn><issn>2054-0272</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1984</creationdate><recordtype>article</recordtype><recordid>eNp9j0tLxDAUhYMoqKNbF666cNsxrybtSsQ3KIrOQhAJt20yk2GmLUlHHX-96VSEQXSVXO4595wPoQOChwRn6bHzLQxJlvIhxhJvoB3CJYlpJuhm-DPB4wSz52206_0UY0JEQneQfHD12MF8bqtxBD6C6A7aiZ5DawuYRRcf2hXW6-gFqjI6t75YeG_r6nUPbRmYeb3__Q7Q6PJidHYd395f3Zyd3sYFp6SNGeSGMZGXrOSS5cbghOaUU52mGWgtJRap5AkUGWSQmFxIkxtIeSlLKrRmAzTszxau9t5poxpn5-CWimDVUauOWnXUqqMOhqPe0IAPAMZBFfr_uDIsBQ1NBoj1MlcvQ_26sLpdqmm9cFUY_z7u_3M9Po1OScb4GyPUkoRShVNGsGSCJOrTNqtznUAFgbLeL7RaydZjfqce9qlT39buB4VJzpOwxP1yYseTd-u0WusWhiYc6_JWSXzFfvKvpUsv6qrVVbtmVGYxm6mmNOwLMju_mg</recordid><startdate>19841001</startdate><enddate>19841001</enddate><creator>Abrial, J. R.</creator><creator>Shepherdson, J. C.</creator><creator>Hillmore, J. S.</creator><creator>Constable, R. L.</creator><general>The Royal Society</general><general>Royal Society of London</general><scope>IQODW</scope><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>19841001</creationdate><title>Programming as a Mathematical Exercise [and Discussion]</title><author>Abrial, J. R. ; Shepherdson, J. C. ; Hillmore, J. S. ; Constable, R. L.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c421t-3abf336bd3d473bff052b242e889aee77068745ac9a9a5fb67fbfa84d7d26ee3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1984</creationdate><topic>Applied sciences</topic><topic>Computer science; control theory; systems</topic><topic>Exact sciences and technology</topic><topic>Logical proofs</topic><topic>Mathematical functions</topic><topic>Mathematical logic</topic><topic>Mathematical relations</topic><topic>Mathematical sequences</topic><topic>Mathematical set theory</topic><topic>Mathematical sets</topic><topic>Mathematics education</topic><topic>Natural numbers</topic><topic>Ordinal notation</topic><topic>Software</topic><topic>Software engineering</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Abrial, J. R.</creatorcontrib><creatorcontrib>Shepherdson, J. C.</creatorcontrib><creatorcontrib>Hillmore, J. S.</creatorcontrib><creatorcontrib>Constable, R. L.</creatorcontrib><collection>Pascal-Francis</collection><collection>CrossRef</collection><jtitle>Philosophical transactions of the Royal Society of London. Series A: Mathematical and physical sciences</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Abrial, J. R.</au><au>Shepherdson, J. C.</au><au>Hillmore, J. S.</au><au>Constable, R. L.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Programming as a Mathematical Exercise [and Discussion]</atitle><jtitle>Philosophical transactions of the Royal Society of London. Series A: Mathematical and physical sciences</jtitle><stitle>Phil. Trans. R. Soc. Lond. A</stitle><date>1984-10-01</date><risdate>1984</risdate><volume>312</volume><issue>1522</issue><spage>447</spage><epage>473</epage><pages>447-473</pages><issn>1364-503X</issn><issn>0080-4614</issn><eissn>1471-2962</eissn><eissn>2054-0272</eissn><coden>PTRMAD</coden><abstract>This paper contains a formal framework within which logic, set theory and programming are presented together. These elements can be presented together because, in this work, we no longer regard a (procedural) programming notation (such as PASCAL) as a notation for expressing a computation; rather, we regard it as a mere extension to the conventional language of logic and set theory. The extension constitutes a convenient (economical) way of expressing certain relational statements. A consequence of this point of view is that the activity of program construction is transformed into that of proof construction. To ensure that this activity of proof construction can be given a sound mechanizable foundation, we present a number of theories in the form of some basic deduction and definition rules. For instance, such theories compose the two logical calculi, a weaker version of the standard Zermelo--Fraenkel set theory, as well as some other elementary mathematical theories leading up to the construction of natural numbers. This last theory acts as a paradigm for the construction of other types such as sequences or trees. Parallel to these mathematical constructions we axiomatize a certain programming notation by giving equivalents to its basic constructs within logic and set theory. A number of other non-logical theories are also presented, which allows us to completely mechanize the calculus of proof that is implied by this framework.</abstract><cop>London</cop><pub>The Royal Society</pub><doi>10.1098/rsta.1984.0070</doi><tpages>27</tpages></addata></record>
fulltext fulltext
identifier ISSN: 1364-503X
ispartof Philosophical transactions of the Royal Society of London. Series A: Mathematical and physical sciences, 1984-10, Vol.312 (1522), p.447-473
issn 1364-503X
0080-4614
1471-2962
2054-0272
language eng
recordid cdi_highwire_royalsociety_roypta_312_1522_447
source JSTOR Archival Journals and Primary Sources Collection; Royal Society Publishing Jisc Collections Royal Society Journals Read & Publish Transitional Agreement 2025 (reading list)
subjects Applied sciences
Computer science
control theory
systems
Exact sciences and technology
Logical proofs
Mathematical functions
Mathematical logic
Mathematical relations
Mathematical sequences
Mathematical set theory
Mathematical sets
Mathematics education
Natural numbers
Ordinal notation
Software
Software engineering
title Programming as a Mathematical Exercise [and Discussion]
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-01T03%3A53%3A13IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-jstor_highw&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Programming%20as%20a%20Mathematical%20Exercise%20%5Band%20Discussion%5D&rft.jtitle=Philosophical%20transactions%20of%20the%20Royal%20Society%20of%20London.%20Series%20A:%20Mathematical%20and%20physical%20sciences&rft.au=Abrial,%20J.%20R.&rft.date=1984-10-01&rft.volume=312&rft.issue=1522&rft.spage=447&rft.epage=473&rft.pages=447-473&rft.issn=1364-503X&rft.eissn=1471-2962&rft.coden=PTRMAD&rft_id=info:doi/10.1098/rsta.1984.0070&rft_dat=%3Cjstor_highw%3E37445%3C/jstor_highw%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c421t-3abf336bd3d473bff052b242e889aee77068745ac9a9a5fb67fbfa84d7d26ee3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rft_jstor_id=37445&rfr_iscdi=true