Results 11  20
of
29
MetaSynthesis  Deriving Programs that Develop Programs
"... The origins of this work go back to research on building systems for the automatic synthesis of programs from specifications, extending the capabilities of existing ones, making several systems cooperate, and integrating them into a larger programming environment. The experiences were rather frustr ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
The origins of this work go back to research on building systems for the automatic synthesis of programs from specifications, extending the capabilities of existing ones, making several systems cooperate, and integrating them into a larger programming environment. The experiences were rather frustrating. Program synthesis systems tend to be ad hoc implementations rather than being built systematically and well structured. It is not surprising that they have the same problems as other software products: there are all kinds of unexpected bugs, maintanance and modifications become increasingly difficult, and cooperation with other synthesizers is nearly impossible despite of the fact that ideas behind the synthesis strategies show many similarities if explained verbally. Apart from human shortcomings the main reason for this problem lies in a lack of formality in the steps from describing an idea on paper to its realization on a computer. Such formality, however, is difficult to achieve, extremely time consuming, and slows down the initial progress of a synthesis system. This is a price which many scientists are not willing to pay. On the other hand, the insufficiencies of current “ad hoc ” systems are hardly acceptable — and there are no exceptions — and there is a need for tools supporting the systematic and
A Theory and its Metatheory in FS 0
"... . Feferman has proposed FS 0 , a theory of finitary inductive systems, as a framework theory that allows a user to reason both in and about an encoded theory. I look here at how practical FS 0 really is. To this end I formalise a sequent calculus presentation of classical propositional logic, and sh ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
. Feferman has proposed FS 0 , a theory of finitary inductive systems, as a framework theory that allows a user to reason both in and about an encoded theory. I look here at how practical FS 0 really is. To this end I formalise a sequent calculus presentation of classical propositional logic, and show this can be used for work in both the theory and the metatheory. the latter is illustrated with a discussion of a proof of Gentzen's Hauptsatz. Contents x 1 Introduction 2 x 1.1 Background : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 x 1.2 Outline of paper : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 x 2 The theory FS 0 and notational conventions 4 x 2.1 What is FS 0 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 x 3 An informal description of Gentzen's calculus 5 x 3.1 The language : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 x 3.2 The calculus for classical propositional logic : : : : : : : : : : : : 6 x 4 Formalising the ...
A new implementation of Automath
 Journal of Automated Reasoning
"... Abstract. This paper presents aut, a modern Automath checker. It is a straightforward reimplementation of the Zandleven Automath checker from the seventies. It was implemented about five years ago, in the programming language C. It accepts both the AUT68 and AUTQE dialects of Automath. This progr ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Abstract. This paper presents aut, a modern Automath checker. It is a straightforward reimplementation of the Zandleven Automath checker from the seventies. It was implemented about five years ago, in the programming language C. It accepts both the AUT68 and AUTQE dialects of Automath. This program was written to restore a damaged version of Jutting’s translation of Landau’s Grundlagen. Some notable features: − It is fast. On a 1GHz machine it will check the full Jutting formalization (736K of nonwhitespace Automath source) in 0.6 seconds. − Its implementation of λterms does not use named variables or de Bruijn indices (the two common approaches) but instead uses a graph representation. In this representation variables are represented by pointers to a binder. − The program can compile an Automath text into one big ‘Automath single line’ style λterm. It outputs such a term using de Bruijn indices. (These λterms cannot be checked by modern systems like Coq or Agda, because the λtyped λcalculi of de Bruijn are different from the Πtyped λcalculi of modern type theory.) The source of aut is freely available on the Web at the address
The ChurchRosser Property for Pure Type Systems with βηreduction
, 1992
"... this paper is to give a proof of the ChurchRosser property (or confluence) with respect to ## reduction for type theories with labelled lambda abstraction. This property is interesting in general since many other useful properties of a system depends on it and it is crucial when trying to use such ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
this paper is to give a proof of the ChurchRosser property (or confluence) with respect to ## reduction for type theories with labelled lambda abstraction. This property is interesting in general since many other useful properties of a system depends on it and it is crucial when trying to use such systems as framework for defining logics. The usual way of encoding logics in these frameworks implies that proof checking corresponds to type checking, and since we want proof checking to be decidable we also need decidability of the frameworks. Strong Normalization and the Church Rosser property give us an algorithm to decide if two wellformed types are equal, simply compute the two terms to normal forms and see if they are identical. This together with Subject Reduction (typing is preserved by reduction) and Uniqness of Types (the type of a term is unique modulo equality on types) give a quite simple algorithm for type checking, not involving higher order unification or backtracking. Subject Reduction alone is also an important property in general, this ensures a certain kind of soundness of a type system, reduction or computation does not change the typing of a term. The standard way of establishing these properties when only # reduction is present is to use the fact that the ChurchRosser property is true for the preset of terms (labeled lambda terms in general) and from this again one can establish Subject Reduction. Though Uniqness of Types is not true for arbitrary type systems the standard proof strategy also use the ChurchRosser property. When it comes to Strong Normalization the ChurchRosser property is usually used in the proofs. With labelled systems one often translate them into unlabelled ones in a way that preserve reduction. Since the unlabelled systems a...
The ChurchRosser Property for . . .
 Seventh Annual IEEE Symposium on Logic in Computer Science
, 1992
"... In this paper we investigate the ChurchRosser property (CR) for Pure Type Systems with fij reduction. For Pure Type Systems with only fi reduction, CR on well typed terms follows immediately from CR on the so called 'pseudoterms' and subject reduction. For fijreduction, CR on the set of pseudo ..."
Abstract
 Add to MetaCart
In this paper we investigate the ChurchRosser property (CR) for Pure Type Systems with fij reduction. For Pure Type Systems with only fi reduction, CR on well typed terms follows immediately from CR on the so called 'pseudoterms' and subject reduction. For fijreduction, CR on the set of pseudoterms is just false, as was shown by [Nederpelt 1973]. Here we prove that CR (for fij) on the welltyped terms of a fixed type holds, which is the maximum we can expect in view of Nederpelts counterexample. The proof is given for a large class of Pure Type systems that contains e.g. LF (for which CR for fij was proved by [Salvesen 1989] and [Coquand 1991]), F, F! and the Calculus of Constructions. In the proof, one key lemma (a very weak form of CR for fij on pseudoterms) takes a central position. It is remarkable that in the proof of this key lemma the counterexample to CR for fij is essentially used. 1 Introduction Simply typed lambda calculus (from now on denoted by !) and polymorphic ...
Categories and Subject Descriptors: F.4.1 [Mathematical Logic and Formal Languages]:
"... The formal system λδ is a typed λcalculus that pursues the unification of terms, types, environments and contexts as the main goal. λδ takes some features from the Automathrelated λcalculi and some from the pure type systems, but differs from both in that it does not include the Π construction wh ..."
Abstract
 Add to MetaCart
The formal system λδ is a typed λcalculus that pursues the unification of terms, types, environments and contexts as the main goal. λδ takes some features from the Automathrelated λcalculi and some from the pure type systems, but differs from both in that it does not include the Π construction while it provides for an abbreviation mechanism at the level of terms. λδ enjoys some important desirable properties such as the confluence of reduction, the correctness of types, the uniqueness of types up to conversion, the subject reduction of the type assignment, the strong normalization of the typed terms and, as a corollary, the decidability of type inference problem.
An Implementation of Type:Type
, 2000
"... We present a denotational semantics of a type system with dependent types, where types are interpreted as finitary projections. We prove then the correctness of a typechecking algorithm w.r.t. this semantics. In this way, we can justify some simple optimisation in this algorithm. We then sketch h ..."
Abstract
 Add to MetaCart
We present a denotational semantics of a type system with dependent types, where types are interpreted as finitary projections. We prove then the correctness of a typechecking algorithm w.r.t. this semantics. In this way, we can justify some simple optimisation in this algorithm. We then sketch how to extend this semantics to allow a simple record mechanism with manifest fields.
Logic and Computerisation in mathematics?
, 2009
"... – If you give me an algorithm to solve Π, I can check whether this algorithm really solves Π. – But, if you ask me to find an algorithm to solve Π, I may go on forever trying but without success. • But, this result was already found by Aristotle: Assume a proposition Φ. – If you give me a proof of Φ ..."
Abstract
 Add to MetaCart
– If you give me an algorithm to solve Π, I can check whether this algorithm really solves Π. – But, if you ask me to find an algorithm to solve Π, I may go on forever trying but without success. • But, this result was already found by Aristotle: Assume a proposition Φ. – If you give me a proof of Φ, I can check whether this proof really proves Φ. – But, if you ask me to find a proof of Φ, I may go on forever trying but without success. • In fact, programs are proofs and much of computer science in the early part of the 20th century was built by mathematicians and logicians. • There were also important inventions in computer science made by physicists (e.g., von Neumann) and others, but we ignore these in this talk. ISR 2009, Brasiliá, Brasil 1An example of a computable function/solvable problem • E.g., 1.5 chicken lay down 1.5 eggs in 1.5 days. • How many eggs does 1 chicken lay in 1 day? • 1.5 chicken lay 1.5 eggs in 1.5 days. • Hence, 1 chicken lay 1 egg in 1.5 days. • Hence, 1 chicken lay 2/3 egg in 1 day. ISR 2009, Brasiliá, Brasil 2Unsolvability of the Barber problem • which man barber in the village shaves all and only those men who do not shave themselves? • If John was the barber then – John shaves Bill ⇐ ⇒ Bill does not shave Bill – John shaves x ⇐ ⇒ x does not shave x – John shaves John ⇐ ⇒ John does not shave John • Contradiction. ISR 2009, Brasiliá, Brasil 3Unsolvability of the Russell set problem
HeriotWatt University Edinburgh, Scotland
, 2005
"... The evolution of types and logic in the 20th century ∗ ..."