Results 11 - 20
of
22
On the Role of Implication in Formal Logic
, 1998
"... Evidence is given that implication (and its special case, negation) carry the logical strength of a system of formal logic. This is done by proving normalization and cut elimination for a system based on combinatory logic or #-calculus with logical constants for and, or, all, and exists, but with no ..."
Abstract
- Add to MetaCart
Evidence is given that implication (and its special case, negation) carry the logical strength of a system of formal logic. This is done by proving normalization and cut elimination for a system based on combinatory logic or #-calculus with logical constants for and, or, all, and exists, but with none for either implication or negation. The proof is strictly finitary, showing that this system is very weak. The results can be extended to a "classical" version of the system. They can also be extended to a system with a restricted set of rules for implication: the result is a system of intuitionistic higher-order BCK logic with unrestricted comprehension and without restriction on the rules for disjunction elimination and existential elimination. The result does not extend to the classical version of the BCK logic. 1991 AMS (MOS) Classification: 03B40, 03F05, 03B20 Key words: Implication, negation, combinatory logic, lambda calculus, comprehension principle, normalization, cut-elimination...
Fields in Physics are like Curried Functions or Physics for Functional Programmers
, 1994
"... Good motivating examples for teaching the utility of curried functions can be taken from Physics. The curried function perspective can also be used to help functional programmers understand fields in Physics. The correspondence between the curried function view of vector fields and the usual view ta ..."
Abstract
- Add to MetaCart
Good motivating examples for teaching the utility of curried functions can be taken from Physics. The curried function perspective can also be used to help functional programmers understand fields in Physics. The correspondence between the curried function view of vector fields and the usual view taken in Physics is also explained. 1 Introduction The earth and everything in it is held together by forces that can be modeled using curried functions. Yet many students think that curried functions have little to do with their everyday experience, and so have trouble grasping the concept. Typical examples, given in texts on programming languages or functional programming, are curried mapping and reduction functions on lists, which connect only with students' experience in programming. A novel 1 approach is to draw more compelling examples from Physics. Once one understands curried functions, it is easy to understand the concept of a field in Physics. Fields are similar to curried functio...
Combinators
, 1995
"... ion takes a term t and a variable x and forms the function l x.t or Function[x, t] . In a combinatory algebra, there is just one operation: application. Because there is no way to define functions by abstraction, some basic operations need to be built in. These are the constants or basic combinator ..."
Abstract
- Add to MetaCart
ion takes a term t and a variable x and forms the function l x.t or Function[x, t] . In a combinatory algebra, there is just one operation: application. Because there is no way to define functions by abstraction, some basic operations need to be built in. These are the constants or basic combinators. Combinatory terms are built up from the constants and variables by repeated application. In the literature, the application of term t 1 to term t 2 is written t 1 t 2 , omitting the operator (similar to the way multiplication is often written without the dot). Application is taken to be left associative; that is, xyz is interpreted as (xy)z, not as x (yz). Remarkably, two basic combinators suffice to express all possible functions. Let us see how this works. With abstraction we can turn any term t (involving the variable x) into a function Function[x, t] . If we want to define the same function as a combinatory term we must find a term T (not containing x) such that Tx = t. In this cas...
Lambda-Calculus and Functional Programming
"... This paper deals with the problem of a program that is essentially the same over any of several types but which, in the older imperative languages must be rewritten for each separate type. For example, a sort routine may be written with essentially the same code except for the types for integers, bo ..."
Abstract
- Add to MetaCart
This paper deals with the problem of a program that is essentially the same over any of several types but which, in the older imperative languages must be rewritten for each separate type. For example, a sort routine may be written with essentially the same code except for the types for integers, booleans, and strings. It is clearly desirable to have a method of writing a piece of code that can accept the specific type as an argument. Milner developed his ideas in terms of type assignment to lambda-terms. It is based on a result due originally to Curry (Curry 1969) and Hindley (Hindley 1969) known as the principal type-scheme theorem, which says that (assuming that the typing assumptions are sufficiently wellbehaved) every term has a principal type-scheme, which is a type-scheme such that every other type-scheme which can be proved for the given term is obtained by a substitution of types for type variables. This use of type schemes allows a kind of generality over all types, which is known as polymorphism.
On the Role of Implication in Formal Logic
"... Evidence is given that implication (and its special case, negation) carry the logical strength of a system of formal logic. This is done by proving normalization and cut elimination for a system based on combinatory logic or #-calculus with logical constants for and, or, all, and exists, but with no ..."
Abstract
- Add to MetaCart
Evidence is given that implication (and its special case, negation) carry the logical strength of a system of formal logic. This is done by proving normalization and cut elimination for a system based on combinatory logic or #-calculus with logical constants for and, or, all, and exists, but with none for either implication or negation. The proof is strictly finitary, showing that this system is very weak. The results can be extended to a "classical" version of the system. They can also be extended to a system with a restricted set of rules for implication: the result is a system of intuitionistic higher-order BCK logic with unrestricted comprehension and without restriction on the rules for disjunction elimination and existential elimination. The result does not extend to the classical version of the BCK logic. 1991 AMS (MOS) Classification: 03B40, 03F05, 03B20 Key words: Implication, negation, combinatory logic, lambda calculus, comprehension principle, normalization, cut-elimination...
Curry's Anticipation of the Types Used in Programming Languages
, 2003
"... This paper shows that H. B. Curry anticipated both the kind of data types used in computer programming languages and also the dependent function type. ..."
Abstract
- Add to MetaCart
This paper shows that H. B. Curry anticipated both the kind of data types used in computer programming languages and also the dependent function type.
Type Systems for Programming Languages
, 2001
"... These notes belong to the course Type Systems for Programming Languages, given to fourth year students in Computing and Joint Mathematics and Computing with some experience in reasoning and logic, and students in the Advanced Masters programme at the Department of Computing, Imperial College, London ..."
Abstract
- Add to MetaCart
These notes belong to the course Type Systems for Programming Languages, given to fourth year students in Computing and Joint Mathematics and Computing with some experience in reasoning and logic, and students in the Advanced Masters programme at the Department of Computing, Imperial College, London. The course is intended for students interested in theoretical computer science, who possess some knowledge of logic. No prior knowledge on type systems or proof techniques is assumed, other than being familiar with the principle of induction. Aims • To lay out in detail the design of type assignment systems for programming languages. • To focus on the importance of a sound theoretical framework, in order to be able to reason about properties of a typed program. • To understand the concepts of: type checking, type reconstruction, polymorphism, type derivation, typeability, typing of recursive functions, termination in the context of typeability, and undecidable systems. • To study various systems and various languages, and to compare those and to select.
Neural Algebra and Consciousness: A Theory of Structural Functionality in Neural Nets
"... Abstract. Thoughts are spatio-temporal patterns of coalitions of firing neurons and their interconnections. Neural algebras represent these patterns as formal algebraic objects, and a suitable composition operation reflects their interaction. Thus, a neural algebra is associated with any neural net. ..."
Abstract
- Add to MetaCart
Abstract. Thoughts are spatio-temporal patterns of coalitions of firing neurons and their interconnections. Neural algebras represent these patterns as formal algebraic objects, and a suitable composition operation reflects their interaction. Thus, a neural algebra is associated with any neural net. The present paper presents this formalization and develops the basic algebraic tools for formulating and solving the problem of finding the neural correlates of concepts such as reflection, association, coordination, etc. The main application is to the notion of consciousness, whose structural and functional basis is made explicit as the emergence of a set of solutions to a fixpoint equation. Key words: neural nets, combinatory algebra, functional structures, emergent properties, models of consciousness
Handbook of the History of Logic. Volume 6
"... ABSTRACT: Here is a crude list, possibly summarizing the role of paradoxes within the framework of mathematical logic: 1. directly motivating important theories (e.g. type theory, axiomatic set theory, combinatory logic); 2. suggesting methods of proving fundamental metamathematical results (fixed p ..."
Abstract
- Add to MetaCart
ABSTRACT: Here is a crude list, possibly summarizing the role of paradoxes within the framework of mathematical logic: 1. directly motivating important theories (e.g. type theory, axiomatic set theory, combinatory logic); 2. suggesting methods of proving fundamental metamathematical results (fixed point theorems, incompleteness, undecidability, undefinability); 3. applying inductive definability and generalized recursion; 4. introducing new semantical methods (e. g. revision theory, semi-inductive definitions, which require non-trivial set theoretic results); 5. (partly) enhancing new axioms in set theory: the case of anti-foundation AFA and the mathematics of circular phenomena; 6. suggesting the investigation of non-classical logical systems, from contraction-free and many-valued logics to systems with generalized quantifiers; 7. suggesting frameworks with flexible typing for the foundations of Mathematics and Computer Science; 8. applying forms of self-referential truth and in Artificial Intelligence, Theoretical Linguistics, etc. Below we attempt to shed some light on the genesis of the issues 1–8 through the history of the paradoxes in the twentieth century, with a special emphasis on semantical aspects.
Before we begin: Thank you, thank you, thank you,... Walter.WassollmanzudiesemMannnochsagen?
"... Doctor rerum naturalium ..."

