Results 1  10
of
25
Refining the Barendregt Cube using Parameters
, 2001
"... The Barendregt Cube (introduced in [3]) is a framework in which eight important typed calculi are described in a uniform way. Moreover, many type systems (like Automath [18], LF [11], ML [17], and system F [10]) can be related to one of these eight systems. Furthermore, via the propositionsastype ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
The Barendregt Cube (introduced in [3]) is a framework in which eight important typed calculi are described in a uniform way. Moreover, many type systems (like Automath [18], LF [11], ML [17], and system F [10]) can be related to one of these eight systems. Furthermore, via the propositionsastypes principle, many logical systems can be described in the Barendregt Cube as well (see for instance [9]). However, there are important systems (including Automath, LF and ML) that cannot be adequately placed in the Barendregt Cube or in the larger framework of Pure Type Systems. In this paper we add a parameter mechanism to the systems of the Barendregt Cube. In doing so, we obtain a re nement of the Cube. In this re ned Barendregt Cube, systems like Automath, LF, and ML can be described more naturally and accurately than in the original Cube.
The Sreplete construction
 In CTCS 55, pages 96  116. Springer Lecture Notes in Computer Science 953
, 1995
"... this paper: (internal version) if C 1 is a quasitopos, then S ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
this paper: (internal version) if C 1 is a quasitopos, then S
Revisiting the Notion of Function
"... Functions play a central role in type theory, logic and computation. We describe how the notions of functionalisation (the way in which functions can be constructed) and instantiation (the process of applying a function to an argument) have been developed in the last century. We explain how both pro ..."
Abstract

Cited by 7 (6 self)
 Add to MetaCart
Functions play a central role in type theory, logic and computation. We describe how the notions of functionalisation (the way in which functions can be constructed) and instantiation (the process of applying a function to an argument) have been developed in the last century. We explain how both processes were implemented in Frege's Begriffschrift [17], Russell's Ramified Type Theory [42] and the lambdacalculus (originally introduced by Church [12, 13]) showing that the lambdacalculus misses a crucial aspect of functionalisation. We then pay attention to some special forms of function abstraction that do not exist in the lambdacalculus and we show that various logical constructs (e.g., let expressions and definitions and the use of parameters in mathematics), can be seen as forms of the missing part of functionalisation. Our study of the function concept leads...
Analysis of a Guard Condition in Type Theory
, 1997
"... We present a realizability interpretation of coinductive types based on partial equivalence relations (per's). We extract from the per's interpretation sound rules to type recursive definitions. These recursive definitions are needed to introduce "infinite" and "total" ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
We present a realizability interpretation of coinductive types based on partial equivalence relations (per's). We extract from the per's interpretation sound rules to type recursive definitions. These recursive definitions are needed to introduce "infinite" and "total" objects of coinductive type such as an infinite stream or a nonterminating process. We show that the proposed type system enjoys the basic syntactic properties of subject reduction and strong normalization with respect to a confluent rewriting system first studied by Gimenez. We also compare the proposed type system with those studied by Coquand and Gimenez. In particular, we provide a semantic reconstruction of Gimenez's system which suggests a rule to type nested recursive definitions.
A Categorytheoretic characterization of functional completeness
, 1990
"... . Functional languages are based on the notion of application: programs may be applied to data or programs. By application one may define algebraic functions; and a programming language is functionally complete when any algebraic function f(x 1 ,...,x n ) is representable (i.e. there is a constant a ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
. Functional languages are based on the notion of application: programs may be applied to data or programs. By application one may define algebraic functions; and a programming language is functionally complete when any algebraic function f(x 1 ,...,x n ) is representable (i.e. there is a constant a such that f(x 1 ,...,x n ) = (a . x 1 . ... . x n ). Combinatory Logic is the simplest typefree language which is functionally complete. In a sound categorytheoretic framework the constant a above may be considered as an "abstract gödelnumber" for f, when gödelnumberings are generalized to "principal morphisms", in suitable categories. By this, models of Combinatory Logic are categorically characterized and their relation is given to lambdacalculus models within Cartesian Closed Categories. Finally, the partial recursive functionals in any finite higher type are shown to yield models of Combinatory Logic. ________________ (+) Theoretical Computer Science, 70 (2), 1990, pp.193211. A p...
Recursive Models of General Inductive Types
 Fundam. Inf
, 1993
"... We give an interpretation of MartinLof's type theory (with universes) extended with generalized inductive types. The model is an extension of the recursive model given by Beeson. By restricting our attention to PER model, we show that the strictness of positivity condition in the definition of ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We give an interpretation of MartinLof's type theory (with universes) extended with generalized inductive types. The model is an extension of the recursive model given by Beeson. By restricting our attention to PER model, we show that the strictness of positivity condition in the definition of generalized inductive types can be dropped. It therefore gives an interpretation of general inductive types in MartinLof's type theory. Copyright c fl1993. All rights reserved. Reproduction of all or part of this work is permitted for educational or research purposes on condition that (1) this copyright notice is included, (2) proper attribution to the author or authors is made and (3) no commercial gain is involved. Technical Reports issued by the Department of Computer Science, Manchester University, are available by anonymous ftp from m1.cs.man.ac.uk (130.88.13.4) in the directory /pub/TR. The files are stored as PostScript, in compressed form, with the report number as filename. Alternative...
The evolution of types and logic in the 20th century: A journey through Frege, Russell and . . .
 ILLC ALUMNI EVENT, AMSTERDAM 2004
, 2004
"... ..."
Themes in the λCalculus and Type Theory
, 2009
"... Functions (see book [Kamareddine et al.]) • General definition of function is key to Frege’s formalisation of logic (1879). • Selfapplication of functions was at the heart of Russell’s paradox (1902). • To avoid paradoxes, Russell controlled function application via type theory. • Russell (1908) gi ..."
Abstract
 Add to MetaCart
Functions (see book [Kamareddine et al.]) • General definition of function is key to Frege’s formalisation of logic (1879). • Selfapplication of functions was at the heart of Russell’s paradox (1902). • To avoid paradoxes, Russell controlled function application via type theory. • Russell (1908) gives the first type theory: the Ramified Type Theory (rtt). • rtt is used in Russell and Whitehead’s Principia Mathematica (1910–1912). • Simple theory of types (stt): Ramsey (1926), Hilbert and Ackermann (1928). • Frege’s functions ̸ = Principia’s functions ̸ = λcalculus functions (1932). ISR 2009, Brasiliá 1 • Church’s simply typed λcalculus λ → = λcalculus + stt (1940). • Both rtt and stt are unsatisfactory. Hence, birth of different type systems, each with different functional power. All based on Church’s λcalculus. • Eight influential typed λcalculi 1940–1988 unified in Barendregt’s cube. • Not all functions need to be fully abstracted as in the λcalculus. For some functions, their values are enough. • Nonfirstclass functions allow us to stay at a lower order (keeping decidability, typability, etc.) without losing the flexibility of the higherorder aspects. • We extend the cube of the eight influential type systems with nonfirstclass functions showing that this allows placing the type systems of ML, LF and Automath more accurately in the hierarchy of types.
Functions and Types in Logic, Language and Computation
, 2003
"... The introduction of a general definition of function was key to Frege’s formalisation of logic. Selfapplication of functions was at the heart of Russell’s paradox. Russell introduced type theory in order to control the application of functions and hence to avoid the paradox. Since, different type s ..."
Abstract
 Add to MetaCart
The introduction of a general definition of function was key to Frege’s formalisation of logic. Selfapplication of functions was at the heart of Russell’s paradox. Russell introduced type theory in order to control the application of functions and hence to avoid the paradox. Since, different type systems have been introduced, each allowing different functional power. Despite the extensive use of types in many applications, there remains many “non believers ” in type theory. In this talk, I will briefly review the evolution of types from the time of Euclid (325 B.C.) to the mid of the 20th century. Then, I will introduce de Bruijn’s formulation of functions and types in Automath, his famous system for automating mathematics. De Bruijn’s formulation is a living example which illustrates that while type theory is useful, there are many other considerations that need to be accommodated when attempting to “computerize” a system. This talk is of interest for anyone