A nominal exploration of intuitionism

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.

[1]  Ulrich Amsel,et al.  Elements Of Intuitionism , 2016 .

[2]  A. Troelstra,et al.  Constructivism in Mathematics: An Introduction , 1988 .

[3]  Program FOUNDATIONS OF CONSTRUCTIVE MATHEMATICS , 2014 .

[4]  Stuart F. Allen,et al.  An Abstract Semantics for Atoms in Nuprl , 2006 .

[5]  Ulrich Schöpp,et al.  A Dependent Type Theory with Names and Binding , 2004, CSL.

[6]  Dag Normann,et al.  Computing with Functionals—Computability Theory or Computer Science? , 2006, Bulletin of Symbolic Logic.

[7]  Michael J. C. Gordon,et al.  Edinburgh LCF: A mechanised logic of computation , 1979 .

[8]  Thierry Coquand,et al.  A Note on Forcing and Type Theory , 2010, Fundam. Informaticae.

[9]  Moshé MacHover VARIETIES OF CONSTRUCTIVE MATHEMATICS (London Mathematical Society Lecture Note Series 97) , 1988 .

[10]  C. Luther,et al.  INDEPENDENCE OF THE CONTINUUM HYPOTHESIS , 2009 .

[11]  Ulrich Berger,et al.  Modified bar recursion , 2006, Mathematical Structures in Computer Science.

[12]  R. Constable,et al.  Nuprl ’ s Class Theory and its Applications , 2000 .

[13]  Mark Bickford,et al.  Coq as a Metatheory for Nuprl with Bar Induction , 2015 .

[14]  Julian Rathke,et al.  Towards a theory of bisimulation for local names , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[15]  Stuart Allen A Non-Type-Theoretic Definition of Martin-Löf's Types , 1987, LICS.

[16]  A. S. Troelstra,et al.  Aspects of Constructive Mathematics , 1977 .

[17]  Wim Veldman,et al.  Understanding and Using Brouwer’s Continuity Principle , 2001 .

[18]  Andrew M. Pitts,et al.  Relating Two Semantics of Locally Scoped Names , 2011, CSL.

[19]  Mark Bickford,et al.  Unguessable Atoms: A Logical Foundation for Security , 2008, VSTTE.

[20]  Aleksey Nogin,et al.  Markov's Principle for Propositional Type Theory , 2001, CSL.

[21]  Michael Rathjen,et al.  Constructive Set Theory and Brouwerian Principles , 2005, J. Univers. Comput. Sci..

[22]  Mark Bickford,et al.  Formal Program Optimization in Nuprl Using Computational Equivalence and Partial Types , 2013, ITP.

[23]  Martín Hötzel Escardó,et al.  A Constructive Model of Uniform Continuity , 2013, TLCA.

[24]  Abhishek Anand,et al.  Towards a Formally Verified Proof Assistant (technical report) , 2014 .

[25]  Frank Waaldijk,et al.  On the Foundations of Constructive Mathematics – Especially in Relation to the Theory of Continuous Functions , 2005 .

[26]  Andrew M. Pitts,et al.  Nominal Logic: A First Order Theory of Names and Binding , 2001, TACS.

[27]  Andrew M. Pitts,et al.  Observable Properties of Higher Order Functions that Dynamically Create Local Names, or What's new? , 1993, MFCS.

[28]  Alexandre Miquel The Implicit Calculus of Constructions , 2001, TLCA.

[29]  Mark R. Shinwell Fresh O'Caml: Nominal Abstract Syntax for the Masses , 2006, Electron. Notes Theor. Comput. Sci..

[30]  S. C. Kleene,et al.  The foundations of intuitionistic mathematics : especially in relation to recursive functions , 1965 .

[31]  Bas Spitters,et al.  Type classes for efficient exact real arithmetic in Coq , 2011, Log. Methods Comput. Sci..

[32]  Ulf Norell,et al.  A Brief Overview of Agda - A Functional Language with Dependent Types , 2009, TPHOLs.

[33]  Mark Bickford,et al.  Intuitionistic completeness of first-order logic , 2011, Ann. Pure Appl. Log..

[34]  Dirk van Dalen,et al.  Arguments for the continuity principle , 1999, Bull. Symb. Log..

[35]  Abhishek Anand,et al.  Towards a Formally Verified Proof Assistant , 2014, ITP.

[36]  Christian Urban,et al.  Nominal logic programming , 2006, TOPL.

[37]  J. Hickey The MetaPRL Logical Programming Environment , 2000 .

[38]  M. Hofmann Extensional concepts in intensional type theory , 1995 .

[39]  Christian Urban,et al.  alpha-Prolog: A Logic Programming Language with Names, Binding and a-Equivalence , 2004, ICLP.

[40]  Andrej Bauer,et al.  Programming with algebraic effects and handlers , 2012, J. Log. Algebraic Methods Program..

[41]  James Cheney A Simple Nominal Type Theory , 2009, Electron. Notes Theor. Comput. Sci..

[42]  Andrew M. Pitts,et al.  A Dependent Type Theory with Abstractable Names , 2014, LSFA.

[43]  William B. Easton Review: Paul J. Cohen, The Independence of the Continuum Hypothesis , 1965 .

[44]  Gregory H. Moore The Origins of Forcing , 1987 .

[45]  Martín Hötzel Escardó,et al.  The Inconsistency of a Brouwerian Continuity Principle with the Curry-Howard Interpretation , 2015, TLCA.

[46]  Robert Pless,et al.  Higher-order encodings with constructors , 2008 .

[47]  Martin Odersky,et al.  A functional theory of local names , 1994, POPL '94.

[48]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[49]  Andrew D. Gordon Bisimilarity as a theory of functional programming , 1995, MFPS.

[50]  Slawomir Lasota,et al.  Towards nominal computation , 2012, POPL '12.

[51]  Sylvain Lebresne,et al.  A Type System For Call-By-Name Exceptions , 2009, Log. Methods Comput. Sci..

[52]  François Pottier,et al.  Static Name Control for FreshML , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[53]  Andrew M. Pitts Nominal system T , 2010, POPL '10.

[54]  Ulrich Schöpp Names and binding in type theory , 2006 .

[55]  Thierry Coquand,et al.  Inductively defined types , 1988, Conference on Computer Logic.

[56]  Andrew M. Pitts,et al.  FreshML: programming with binders made simple , 2003, ICFP '03.

[57]  P. J. Cohen,et al.  THE INDEPENDENCE OF THE CONTINUUM HYPOTHESIS, II. , 1964, Proceedings of the National Academy of Sciences of the United States of America.

[58]  Karl Crary Type-Theoretic Methodology for Practical Programming Languages , 1998 .

[59]  John Longley When is a functional program not a functional program? , 1999, ICFP '99.

[60]  Aaron Stump,et al.  The calculus of nominal inductive constructions: an intensional approach to encoding name-bindings , 2009, LFMTP '09.

[61]  Mark Bickford,et al.  Innovations in computational type theory using Nuprl , 2006, J. Appl. Log..

[62]  Jeremy Avigad,et al.  Forcing in Proof Theory , 2004, Bulletin of Symbolic Logic.

[63]  Mark Bickford,et al.  A Type Theory with Partial Equivalence Relations as Types , 2014 .

[64]  Andrew M. Pitts,et al.  A new approach to abstract syntax involving binders , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[65]  Alexandre Miquel A model for impredicative type systems, universes, intersection types and subtyping , 2000, Proceedings Fifteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.99CB36332).

[66]  S. Allen A Non-Type-Theoretic Semantics for Type-Theoretic Language , 1987 .

[67]  Robert L. Constable,et al.  Constructive Mathematics as a Programming Logic I: Some Principles of Theory , 1983, FCT.

[68]  J. Sacchini Exceptions in Dependent Type Theory , 2014 .

[69]  François Pottier,et al.  A fresh look at programming with names and binders , 2010, ICFP '10.

[70]  Maribel Fernández,et al.  Dependent Types for Nominal Terms with Atom Substitutions , 2015, TLCA.

[71]  Sylvain Lebresne,et al.  A System F with Call-by-Name Exceptions , 2008, ICALP.

[72]  Douglas J. Howe Equality in lazy computation systems , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[73]  Alexei Kopylov Type Theoretical Foundations for Data Structures, Classes, and Objects , 2004 .

[74]  Jaap van Oosten,et al.  The Univalent Foundations Program. Homotopy Type Theory: Univalent Foundations of Mathematics. http: //homotopytypetheory.org/book, Institute for Advanced Study, 2013, vii + 583 pp , 2014, Bulletin of Symbolic Logic.

[75]  P. J. Cohen,et al.  THE INDEPENDENCE OF THE CONTINUUM HYPOTHESIS. , 1963, Proceedings of the National Academy of Sciences of the United States of America.

[76]  Aleksey Nogin,et al.  Theory and Implementation of an Efficient Tactic-Based Logical Framework , 2002 .

[77]  Andrew M. Pitts,et al.  A Metalanguage for Programming with Bound Names Modulo Renaming , 2000, MPC.

[78]  Thierry Coquand,et al.  A Computational Interpretation of Forcing in Type Theory , 2012, Epistemology versus Ontology.

[79]  Martín Hötzel Escardó,et al.  Bar Recursion and Products of Selection Functions , 2015, J. Symb. Log..

[80]  J. Girard,et al.  Proofs and types , 1989 .

[81]  F. Richman,et al.  Varieties of Constructive Mathematics: CONSTRUCTIVE ALGEBRA , 1987 .

[82]  Martín Hötzel Escardó,et al.  Exhaustible Sets in Higher-type Computation , 2008, Log. Methods Comput. Sci..

[83]  Robert L. Constable,et al.  Computational foundations of basic recursive function theory , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[84]  Martín Hötzel Escardó,et al.  Continuity of Gödel's System T Definable Functionals via Effectful Forcing , 2013, MFPS.

[85]  Edwin Brady,et al.  IDRIS ---: systems programming meets full dependent types , 2011, PLPV '11.

[86]  Martín Hötzel Escardó,et al.  Infinite sets that admit fast exhaustive search , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[87]  James Cheney,et al.  A dependent nominal type theory , 2012, Log. Methods Comput. Sci..

[88]  Douglas J. Howe Semantic Foundations for Embedding HOL in Nuprl , 1996, AMAST.

[89]  Scott F. Smith Partial Objects in Type Theory , 1988 .

[90]  Pierre Castéran,et al.  Interactive Theorem Proving and Program Development , 2004, Texts in Theoretical Computer Science An EATCS Series.

[91]  Wim Veldman,et al.  The continuum hypothesis in intuitionism , 1981, Journal of Symbolic Logic.

[92]  Roy L. Crole,et al.  Nominal Lambda Calculus: An Internal Language for FM-Cartesian Closed Categories , 2013, MFPS.