Term-Generic First-Order Logic

Term-generic rst-order logic, or simply generic rst-order logic (GFOL), is presented as a rst-order logic parameterized with terms de ned axiomatically (rather than constructively), by requiring them to only provide generic notions of free variable and substitution satisfying reasonable properties. A complete Gentzen deduction system is given, as well as complete equational and many-sorted extensions. It is shown that various calculi with binding, such as λ-calculus and System F, can be faithfully de ned as GFOL theories. Since GFOL is complete, by de ning a logic or calculus as a GFOL theory one gets, at no additional effort, a semantics for that logic or calculus. A fragment of GFOL called Horn is also de ned, on whose theories, under certain conditions, the generic Gentzen deduction system is equivalent to a simpli ed deduction system which resembles the derivation system of the calculi that we intend to explicitly capture. Consequently, GFOL and especially its fragment Horn can serve as a foundational de nitional framework for other calculi and logics, providing these with models and complete deduction.

[1]  Frank Pfenning,et al.  Higher-order abstract syntax , 1988, PLDI '88.

[2]  John C. Reynolds,et al.  Towards a theory of type structure , 1974, Symposium on Programming.

[3]  P. Aczel Frege Structures and the Notions of Proposition, Truth and Set* , 1980 .

[4]  Robert D. Tennent,et al.  Semantics of programming languages , 1991, Prentice Hall International Series in Computer Science.

[5]  Jean H. Gallier,et al.  Logic for Computer Science: Foundations of Automatic Theorem Proving , 1985 .

[6]  Daniele Turi,et al.  Abstract Syntax and Variable Binding (Extended Abstract) , 2003 .

[7]  G. Longo,et al.  Lambda-Calculus Models and Extensionality , 1980, Math. Log. Q..

[8]  Yong Sun An Algebraic Generalization of Frege Structures-Binding Algebras , 1999, Theor. Comput. Sci..

[9]  Gillier,et al.  Logic for Computer Science , 1986 .

[10]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[11]  Andrew John Kennedy,et al.  Programming languages and dimensions , 1995 .

[12]  John C. Mitchell,et al.  Foundations for programming languages , 1996, Foundation of computing series.

[13]  J. Girard Une Extension De ĽInterpretation De Gödel a ĽAnalyse, Et Son Application a ĽElimination Des Coupures Dans ĽAnalyse Et La Theorie Des Types , 1971 .

[14]  John C. Mitchell,et al.  The Semantics of Second-Order Lambda Calculus , 1990, Inf. Comput..

[15]  Carl A. Gunter Semantics of programming languages: structures and techniques , 1993, Choice Reviews Online.

[16]  José Meseguer,et al.  Order-Sorted Algebra I: Equational Deduction for Multiple Inheritance, Overloading, Exceptions and Partial Operations , 1992, Theor. Comput. Sci..

[17]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[18]  Harold T. Hodes,et al.  The | lambda-Calculus. , 1988 .

[19]  Leon Henkin,et al.  Completeness in the theory of types , 1950, Journal of Symbolic Logic.