Inductive types in the Calculus of Algebraic Constructions

In a previous work, we proved that an important part of the Calculus of Inductive Constructions (CIC), the basis of the Coq proof assistant, can be seen as a Calculus of Algebraic Constructions (CAC), an extension of the Calculus of Constructions with functions and predicates defined by higher-order rewrite rules. In this paper, we prove that almost all CIC can be seen as a CAC, and that it can be further extended with non-strictly positive types and inductive-recursive types together with non-free constructors and pattern-matching on defined symbols.

[1]  V. van Oostrom,et al.  Confluence for Abstract and Higher-Order Rewriting , 1994 .

[2]  Conor McBride,et al.  Dependently typed functional programs and their proofs , 2000 .

[3]  Frédéric Blanqui Definitions by rewriting in the Calculus of Constructions , 2005, Math. Struct. Comput. Sci..

[4]  Benjamin Werner,et al.  Une Théorie des Constructions Inductives , 1994 .

[5]  Grigori Mints,et al.  Proceedings of the international conference on Computer logic , 1988 .

[6]  Frédéric Blanqui Théorie des types et réécriture , 2001 .

[7]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[8]  Jean-Pierre Jouannaud,et al.  A computation model for executable higher-order algebraic specification languages , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[9]  Peter Dybjer,et al.  A general formulation of simultaneous inductive-recursive definitions in type theory , 2000, Journal of Symbolic Logic.

[10]  Amy,et al.  The Cal ulus of Constru tions as a Framework for Proof Sear hwith Set Variable Instantiation , 2014 .

[11]  P. Mendler Inductive Definition in Type Theory , 1988 .

[12]  Herman Geuvers,et al.  Modularity of strong normalization and confluence in the algebraic-/spl lambda/-cube , 1994, Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science.

[13]  M. T. Stefanova Properties of typing systems , 1999 .

[14]  Miles H. Krumbine Hell , 1930, The Journal of Religion.

[15]  Viggo Stoltenberg-hansen,et al.  In: Handbook of Logic in Computer Science , 1995 .

[16]  Jean-Pierre Jouannaud,et al.  Abstract Data Type Systems , 1997, Theor. Comput. Sci..

[17]  Mitsuhiro Okada,et al.  Strong normalizability for the combined system of the typed lmbda calculus and an arbitrary convergent term rewrite system , 1989, ISSAC '89.

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

[19]  Fritz Müller,et al.  Confluence of the Lambda Calculus with Left-Linear Algebraic Rewriting , 1992, Inf. Process. Lett..

[20]  Val Tannen,et al.  Polymorphic Rewriting Conserves Algebraic Strong Normalization , 1991, Theor. Comput. Sci..

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

[22]  Frédéric Blanqui,et al.  Definitions by rewriting in the calculus of constructions , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[23]  Yoshihito Toyama,et al.  Counterexamples to Termination for the Direct Sum of Term Rewriting Systems , 1987, Inf. Process. Lett..

[24]  Michaël Rusinowitch,et al.  On Termination of the Direct Sum of Term-Rewriting Systems , 1987, Inf. Process. Lett..

[25]  Ralph Matthes,et al.  Extensions of system F by iteration and primitive recursion on monotone inductive types , 1998 .

[26]  Giorgio Ausiello,et al.  Proceedings of the 16th International Colloquium on Automata, Languages and Programming , 1989 .

[27]  Thierry Coquand,et al.  An Analysis of Girard's Paradox , 1986, LICS.

[28]  Andrew M. Pitts,et al.  A New Approach to Abstract Syntax with Variable Binding , 2002, Formal Aspects of Computing.

[29]  Daria Walukiewicz-Chrzaszcz,et al.  Termination of rewriting in the Calculus of Constructions , 2003, Journal of Functional Programming.

[30]  Thierry Coquand,et al.  Pattern Matching with Dependent Types , 1992 .

[31]  John C. Mitchell,et al.  Parametricity and Variants of Girard's J Operator , 1999, Inf. Process. Lett..

[32]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[33]  Andreas Abel Termination checking with types , 2004, RAIRO Theor. Informatics Appl..

[34]  Thierry Coquand,et al.  The Calculus of Constructions , 1988, Inf. Comput..

[35]  Robert Pollack Dependently Typed Records in Type Theory , 2002, Formal Aspects of Computing.

[36]  Vincent van Oostrom,et al.  Combinatory Reduction Systems: Introduction and Survey , 1993, Theor. Comput. Sci..

[37]  Rp Rob Nederpelt Strong normalization in a typed lambda calculus with lambda structured types , 1994 .