Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2854065.2854077acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

A nominal exploration of intuitionism

Published: 18 January 2016 Publication History

Abstract

This papers extends the Nuprl proof assistant (a system representative of the class of extensional type theories a la Martin-Lof) with named exceptions and handlers, as well as a nominal fresh operator. Using these new features, we prove a version of Brouwer's Continuity Principle for numbers. We also provide a simpler proof of a weaker version of this principle that only uses diverging terms. We prove these two principles in Nuprl's meta-theory using our formalization of Nuprl in Coq and show how we can reflect these meta-theoretical results in the Nuprl theory as derivation rules. We also show that these additions preserve Nuprl's key meta-theoretical properties, in particular consistency and the congruence of Howe's computational equivalence relation. Using continuity and the fan theorem we prove important results of Intuitionistic Mathematics: Brouwer's continuity theorem and bar induction on monotone bars.

References

[1]
LICS 2007. IEEE Computer Society, 2007.
[2]
The Agda wiki. http://wiki.portal.chalmers.se/agda/pmwi ki.php.
[3]
Stuart Allen. An abstract semantics for atoms in Nuprl. Technical report, Cornell University, 2006.
[4]
Stuart F. Allen. A non-type-theoretic definition of Martin-Löf’s types. In LICS, pages 215–221. IEEE Computer Society, 1987.
[5]
Stuart F. Allen. A Non-Type-Theoretic Semantics for Type-Theoretic Language. PhD thesis, Cornell University, 1987.
[6]
Stuart F. Allen, Mark Bickford, Robert L. Constable, Richard Eaton, Christoph Kreitz, Lori Lorigo, and Evan Moran. Innovations in computational type theory using Nuprl. J. Applied Logic, 4(4):428–469, 2006. http://www.nuprl.org/.
[7]
Abhishek Anand and Vincent Rahli. Towards a formally verified proof assistant. In ITP 2014, volume 8558 of LNCS, pages 27–44. Springer, 2014.
[8]
Abhishek Anand and Vincent Rahli. Towards a formally verified proof assistant. Technical report, Cornell University, 2014. http://www.n uprl.org/html/Nuprl2Coq/.
[9]
Jeremy Avigad. Forcing in proof theory. Bulletin of Symbolic Logic, 10(3):305–333, 2004.
[10]
Andrej Bauer and Matija Pretnar. Programming with algebraic effects and handlers. J. Log. Algebr. Meth. Program., 84(1):108–123, 2015.
[11]
Michael J. Beeson. Foundations of Constructive Mathematics. Springer, 1985.
[12]
Ulrich Berger and Paulo Oliva. Modified bar recursion. Mathematical Structures in Computer Science, 16(2):163–183, 2006.
[13]
Yves Bertot and Pierre Casteran. Interactive Theorem Proving and Program Development. SpringerVerlag, 2004. http://www.labri. fr/perso/casteran/CoqArt.
[14]
Mark Bickford. Unguessable atoms: A logical foundation for security. In Verified Software: Theories, Tools, Experiments, Second Int’l Conf., volume 5295 of LNCS, pages 30–53. Springer, 2008.
[15]
E. Bishop and D. Bridges. Constructive Analysis. Springer, 1985.
[16]
Mikolaj Bojanczyk, Laurent Braud, Bartek Klin, and Slawomir Lasota. Towards nominal computation. In POPL’12, pages 401–412. ACM, 2012.
[17]
Ana Bove, Peter Dybjer, and Ulf Norell. A brief overview of Agda - a functional language with dependent types. In TPHOLs 2009, volume 5674 of LNCS, pages 73–78. Springer, 2009. http://wiki.portal .chalmers.se/agda/pmwiki.php.
[18]
Edwin Brady. Idris —: systems programming meets full dependent types. In 5th ACM Workshop Programming Languages meets Program Verification, PLPV 2011, pages 43–54. ACM, 2011.
[19]
Douglas Bridges and Fred Richman. Varieties of Constructive Mathematics. London Mathematical Society Lecture Notes Series. Cambridge University Press, 1987.
[20]
James Cheney. A simple nominal type theory. Electr. Notes Theor. Comput. Sci., 228:37–52, 2009.
[21]
James Cheney. A dependent nominal type theory. Logical Methods in Computer Science, 8(1), 2012.
[22]
James Cheney and Christian Urban. alpha-prolog: A logic programming language with names, binding and a-equivalence. In ICLP 2004, volume 3132 of LNCS, pages 269–283. Springer, 2004.
[23]
James Cheney and Christian Urban. Nominal logic programming. ACM Trans. Program. Lang. Syst., 30(5), 2008.
[24]
Paul J. Cohen. The independence of the continuum hypothesis. the National Academy of Sciences of the United States of America, 50(6):1143–1148, December 1963.
[25]
Paul J. Cohen. The independence of the continuum hypothesis ii. the National Academy of Sciences of the United States of America, 51(1):105–110, January 1964.
[26]
R.L. Constable, S.F. Allen, H.M. Bromley, W.R. Cleaveland, J.F. Cremer, R.W. Harper, D.J. Howe, T.B. Knoblock, N.P. Mendler, P.Panangaden, J.T. Sasaki, and S.F. Smith. Implementing mathematics with the Nuprl proof development system. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1986.
[27]
Robert Constable and Mark Bickford. Intuitionistic completeness of first-order logic. Annals of Pure and Applied Logic, 165(1):164–198, January 2014.
[28]
Robert L. Constable. Constructive mathematics as a programming logic I: some principles of theory. In Fundamentals of Computation Theory, Proceedings of the 1983 International, volume 158 of LNCS, pages 64–77. Springer, 1983.
[29]
Robert L. Constable and Scott F. Smith. Computational foundations of basic recursive function theory. Theoretical Computer Science, 121(1&2):89––112, 1993.
[30]
Thierry Coquand and Guilhem Jaber. A note on forcing and type theory. Fundam. Inform., 100(1-4):43–52, 2010.
[31]
Thierry Coquand and Guilhem Jaber. A computational interpretation of forcing in type theory. In Epistemology versus Ontology, volume 27 of Logic, Epistemology, and the Unity of Science, pages 203–213. Springer, 2012.
[32]
Thierry Coquand and Christine Paulin. Inductively defined types. In COLOG-88, Int’l Conf. on Computer Logic, volume 417 of LNCS, pages 50–66. Springer, 1988.
[33]
The Coq Proof Assistant. http://coq.inria.fr/.
[34]
Karl Crary. Type-Theoretic Methodology for Practical Programming Languages. PhD thesis, Cornell University, Ithaca, NY, August 1998.
[35]
Roy L. Crole and Frank Nebel. Nominal lambda calculus: An internal language for fm-cartesian closed categories. Electr. Notes Theor. Comput. Sci., 298:93–117, 2013.
[36]
R. David and G. Mounier. An intuitionistic λ-calculus with exceptions. J. Funct. Program., 15(1):33–52, January 2005.
[37]
Michael A. E. Dummett. Elements of Intuitionism. Clarendon Press, second edition, 2000.
[38]
Mart´ın Escard´o and Paulo Oliva. Bar recursion and products of selection functions. J. Symb. Log., 80(1):1–28, 2015.
[39]
Mart´ın Escard´o and Chuangjie Xu. The inconsistency of a Brouwerian continuity principle with the Curry-Howard interpretation. TLCA’2015, available at http://www.cs.bham.ac.uk/~mhe/pap ers/escardo-xu-inconsistency-continuity.pdf, 2015.
[40]
Mart´ın Hötzel Escard´o. Infinite sets that admit fast exhaustive search. In LICS 2007 {1}, pages 443–452.
[41]
Mart´ın Hötzel Escard´o. Exhaustible sets in higher-type computation. Logical Methods in Computer Science, 4(3), 2008.
[42]
Mart´ın Hötzel Escard´o. Continuity of Gödel’s system T definable functionals via effectful forcing. Electr. Notes Theor. Comput. Sci., 298:119–141, 2013.
[43]
Elliot Fairweather, Maribel Fernández, Nora Szasz, and Alvaro Tasistro. Dependent types for nominal terms with atom substitutions. In TLCA 2015, volume 38 of LIPIcs, pages 180–195. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2015.
[44]
Murdoch Gabbay and Andrew M. Pitts. A new approach to abstract syntax involving binders. In LICS’1999 {58}, pages 214–224.
[45]
W. Gielen, Harrie C. M. de Swart, and Wim Veldman. The continuum hypothesis in intuitionism. J. Symb. Log., 46(1):121–136, 1981.
[46]
Jean-Yves Girard, Paul Taylor, and Yves Lafont. Proofs and Types. Cambridge University Press, 1989.
[47]
Andrew D. Gordon. Bisimilarity as a theory of functional programming. Electr. Notes Theor. Comput. Sci., 1:232–252, 1995.
[48]
Michael J. C. Gordon, Robin Milner, and Christopher P. Wadsworth. Edinburgh LCF: A Mechanised Logic of Computation., volume 78 of LNCS. Springer-Verlag, 1979.
[49]
Martin Hofmann. Extensional concepts in intensional type theory. PhD thesis, University of Edinburgh, 1995.
[50]
Douglas J. Howe. Equality in lazy computation systems. In LICS 1989, pages 198–203. IEEE Computer Society, 1989.
[51]
Idris. http://www.idris-lang.org/.
[52]
Alan Jeffrey and Julian Rathke. Towards a theory of bisimulation for local names. In LICS’1999 {58}, pages 56–66.
[53]
S.C. Kleene and R.E. Vesley. The Foundations of Intuitionistic Mathematics, especially in relation to recursive functions. North-Holland Publishing Company, 1965.
[54]
Robbert Krebbers and Bas Spitters. Type classes for efficient exact real arithmetic in Coq. Logical Methods in Computer Science, 9(1), 2011.
[55]
Jean-Louis Krivine. Lambda-calculus, types and models. Ellis Horwood series in computers and their applications. Masson, 1993.
[56]
Sylvain Lebresne. A system F with call-by-name exceptions. In ICALP 2008, volume 5126 of LNCS, pages 323–335. Springer, 2008.
[57]
Sylvain Lebresne. A type system for call-by-name exceptions. Logical Methods in Computer Science, 5(4), 2009.
[58]
LICS 1999. IEEE Computer Society, 1999.
[59]
John Longley. When is a functional program not a functional program? In ICFP’99, pages 1–7. ACM, 1999.
[60]
Steffen Lösch and Andrew M. Pitts. Relating two semantics of locally scoped names. In CSL 2011, volume 12 of LIPIcs, pages 396–411. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2011.
[61]
Gregory H. Moore. The origins of forcing. In Logic Colloquium ’86, pages 143–173. Elsevier Science Publishers B.V. (North-Holland), 1988.
[62]
Dag Normann. Computing with functionals - computability theory or computer science? Bulletin of Symbolic Logic, 12(1):43–59, 2006.
[63]
Martin Odersky. A functional theory of local names. In POPL’94, pages 48–59. ACM Press, 1994.
[64]
A. M. Pitts, J. Matthiesen, and J. Derikx. A dependent type theory with abstractable names. In I. Mackie and M. Ayala-Rincon, editors, Proceedings of the LSFA 2014 Workshop, volume 312 of Electronic Notes in Theoretical Computer Science, pages 19–50. Elsevier, 2015.
[65]
Andrew M. Pitts. Nominal logic: A first order theory of names and binding. In TACS 2001, volume 2215 of LNCS, pages 219–242. Springer, 2001.
[66]
Andrew M. Pitts. Nominal system T. In POPL’10, pages 159–170. ACM, 2010.
[67]
Andrew M. Pitts and Murdoch Gabbay. A metalanguage for programming with bound names modulo renaming. In MPC 2000, volume 1837 of LNCS, pages 230–255. Springer, 2000.
[68]
Andrew M. Pitts and Ian D. B. Stark. Observable properties of higher order functions that dynamically create local names, or what’s new? In MFCS’93, volume 711 of LNCS, pages 122–141. Springer, 1993.
[69]
Franc¸ois Pottier. Static name control for FreshML. In LICS 2007 {1}, pages 356–365.
[70]
Nicolas Pouillard and Franc¸ois Pottier. A fresh look at programming with names and binders. In ICFP 2010, pages 217–228. ACM, 2010.
[71]
Vincent Rahli and Mark Bickford. Coq as a metatheory for Nuprl with bar induction. Presented at CCC 2015, available at http://www.nup rl.org/html/Nuprl2Coq/barind.pdf, 2015.
[72]
Vincent Rahli and Mark Bickford. A nominal exploration of intuitionism. Extended version avaible at http://www.nuprl.org/html/N uprl2Coq/continuity-long.pdf, 2015.
[73]
Vincent Rahli, Mark Bickford, and Abhishek Anand. Formal program optimization in Nuprl using computational equivalence and partial types. In ITP’13, volume 7998 of LNCS, pages 261–278. Springer, 2013.
[74]
Michael Rathjen. Constructive set theory and brouwerian principles. J. UCS, 11(12):2008–2033, 2005.
[75]
Jorge Luis Sacchini. Exceptions in dependent type theory. Presented at TYPES’14 ( http://www.pps.univ-paris-diderot.fr/type s2014/abstract-18.pdf), 2014.
[76]
Ulrich Schöpp. Names and Binding in Type Theory. PhD thesis, University of Edinburgh, 2006.
[77]
Ulrich Schöpp and Ian Stark. A dependent type theory with names and binding. In CSL 2004, volume 3210 of LNCS, pages 235–249. Springer, 2004.
[78]
Mark R. Shinwell. Fresh O’Caml: Nominal abstract syntax for the masses. Electr. Notes Theor. Comput. Sci., 148(2):53–77, 2006.
[79]
Mark R. Shinwell, Andrew M. Pitts, and Murdoch James Gabbay. FreshML: programming with binders made simple. SIGPLAN Notices, 38(9):263–274, 2003.
[80]
Scott F. Smith. Partial Objects in Type Theory. PhD thesis, Cornell University, Ithaca, NY, 1989.
[81]
A.S. Troelstra. Aspects of constructive mathematics. In Handbook of Mathematical Logic, pages 973–1052. North-Holland Publishing Company, 1977.
[82]
A.S. Troelstra and D. van Dalen. Constructivism in Mathematics An Introduction, volume 121 of Studies in Logic and the Foundations of Mathematics. Elsevier, 1988.
[83]
The Univalent Foundations Program. Homotopy Type Theory: Univalent Foundations of Mathematics. http://homotopytypetheory. org/book, Institute for Advanced Study, 2013.
[84]
Mark van Atten and Dirk van Dalen. Arguments for the continuity principle. Bulletin of Symbolic Logic, 8(3):329–347, 2002.
[85]
Wim Veldman. Understanding and using Brouwers continuity principle. In Reuniting the Antipodes Constructive and Nonstandard Views of the Continuum, volume 306 of Synthese Library, pages 285–302. Springer Netherlands, 2001.
[86]
Frank Waaldijk. On the foundations of constructive mathematics – especially in relation to the theory of continuous functions. Foundations of Science, 10(3):249–324, 2005.
[87]
Edwin M. Westbrook. Higher-Order Encodings with Constructors. PhD thesis, Washington University, Saint Louis, Missouri, 2008.
[88]
Edwin M. Westbrook, Aaron Stump, and Evan Austin. The calculus of nominal inductive constructions: an intensional approach to encoding name-bindings. In LFMTP ’09, pages 74–83. ACM, 2009.
[89]
Chuangjie Xu and Mart´ın Hötzel Escard´o. A constructive model of uniform continuity. In TLCA 2013, volume 7941 of LNCS, pages 236– 249. Springer, 2013.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CPP 2016: Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs
January 2016
196 pages
ISBN:9781450341271
DOI:10.1145/2854065
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 January 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Continuity
  2. Coq
  3. Exceptions
  4. Intuitionistic Type Theory
  5. Nominal Type Theory
  6. Nuprl
  7. Squashing
  8. Truncation

Qualifiers

  • Research-article

Funding Sources

Conference

CPP 2016
Sponsor:
CPP 2016: Certified Proofs and Programs
January 18 - 19, 2016
FL, St. Petersburg, USA

Acceptance Rates

Overall Acceptance Rate 18 of 26 submissions, 69%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Higher order functions and Brouwer’s thesisJournal of Functional Programming10.1017/S095679682100009531Online publication date: 19-May-2021
  • (2021)Formally Computing with the Non-computableConnecting with Computability10.1007/978-3-030-80049-9_12(135-145)Online publication date: 2-Jul-2021
  • (2019)Bar Induction is Compatible with Constructive Type TheoryJournal of the ACM10.1145/330526166:2(1-35)Online publication date: 24-Apr-2019
  • (2018)Computability Beyond Church-Turing via Choice SequencesProceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science10.1145/3209108.3209200(245-254)Online publication date: 9-Jul-2018
  • (2018)Connectedness of the continuum in intuitionistic mathematicsMathematical Logic Quarterly10.1002/malq.20170005764:4-5(387-394)Online publication date: 18-Oct-2018
  • (2017)Bar inductionProceedings of the 32nd Annual ACM/IEEE Symposium on Logic in Computer Science10.5555/3329995.3330009(1-12)Online publication date: 20-Jun-2017
  • (2017)Computational higher-dimensional type theoryACM SIGPLAN Notices10.1145/3093333.300986152:1(680-693)Online publication date: 1-Jan-2017
  • (2017)Formally verified differential dynamic logicProceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs10.1145/3018610.3018616(208-221)Online publication date: 16-Jan-2017
  • (2017)Computational higher-dimensional type theoryProceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages10.1145/3009837.3009861(680-693)Online publication date: 1-Jan-2017
  • (2017)Bar induction: The good, the bad, and the ugly2017 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS)10.1109/LICS.2017.8005074(1-12)Online publication date: Jun-2017
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media