Results 1  10
of
11
Coinductive Axiomatization of Recursive Type Equality and Subtyping
, 1998
"... e present new sound and complete axiomatizations of type equality and subtype inequality for a firstorder type language with regular recursive types. The rules are motivated by coinductive characterizations of type containment and type equality via simulation and bisimulation, respectively. The mai ..."
Abstract

Cited by 66 (2 self)
 Add to MetaCart
e present new sound and complete axiomatizations of type equality and subtype inequality for a firstorder type language with regular recursive types. The rules are motivated by coinductive characterizations of type containment and type equality via simulation and bisimulation, respectively. The main novelty of the axiomatization is the fixpoint rule (or coinduction principle), which has the form A; P ` P A ` P (Fix) where P is either a type equality = 0 or type containment 0 and the proof of the premise must be contractive in a formal sense. In particular, a proof of A; P ` P using the assumption axiom is not contractive. The fixpoint rule embodies a finitary coinduction principle and thus allows us to capture a coinductive relation in the fundamentally inductive framework of inference systems. The new axiomatizations are more concise than previous axiomatizations, particularly so for type containment since no separate axiomatization of type equality is required, as in A...
GraphBased Proof Counting and Enumeration with Applications for Program Fragment Synthesis
 in &quot;International Symposium on Logicbased Program Synthesis and Transformation 2004 (LOPSTR 2004)&quot;, S. ETALLE (editor)., Lecture Notes in Computer Science
, 2004
"... Abstract. For use in earlier approaches to automated module interface adaptation, we seek a restricted form of program synthesis. Given some typing assumptions and a desired result type, we wish to automatically build a number of program fragments of this chosen typing, using functions and values av ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Abstract. For use in earlier approaches to automated module interface adaptation, we seek a restricted form of program synthesis. Given some typing assumptions and a desired result type, we wish to automatically build a number of program fragments of this chosen typing, using functions and values available in the given typing environment. We call this problem term enumeration. To solve the problem, we use the CurryHoward correspondence (propositionsastypes, proofsasprograms) to transform it into a proof enumeration problem for an intuitionistic logic calculus. We formally study proof enumeration and counting in this calculus. We prove that proof counting is solvable and give an algorithm to solve it. This in turn yields a proof enumeration algorithm. 1
Syntactic properties of polymorphic subtyping
 DIKU, Computer Science Department, University of Copenhagen
, 1996
"... Subtyping is used in language design, type checking and program analysis. Mitchell and others have studied the foundations of structural subtyping (primitive subtype relations only between type constants) in a monomorphic setting; that is, there is no letconstruct that admits polymorphic use of var ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Subtyping is used in language design, type checking and program analysis. Mitchell and others have studied the foundations of structural subtyping (primitive subtype relations only between type constants) in a monomorphic setting; that is, there is no letconstruct that admits polymorphic use of variables in their languages. Both Kaes and Smith investigate (ML)polymorphic extensions of subtyping, though embedded in a system with overloading. Somewhat surprisingly, polymorphic subtyping has to date not been studied in isolation, and some of its central syntactic properties have not been investigated generally and systematically. In this paper we study polymorphic subtyping, where the subtyping theory is not required to be structural. We observe that type schemes with subtyping qualifications are strictly necessary in order to obtain principal typing. We identify a new instance relation on typing judgements, the halbstark relation. It is a hybrid, lying in strength between Mitchell’s original instance relation and Fuh and Mishra’s lazy instance relation. We present a sound and complete type inference algorithm in the style of Milner’s Algorithm W. The significance of the halbstark relation emerges from the fact that the algorithm is generic in that it admits replacing typing judgements by any halbstarkequivalent judgements at any point. This provides a generalized correctness argument for Algorithm W independent of any particular constraint simplification strategy chosen. Finally, we show that polymorphic typing judgements are preserved under letunfolding, letfolding, and ηreduction, but not in general under βreduction. The latter holds, though, if the subtyping discipline has the decomposition property, which says that two function types are in a subtype relation only if their domain and range types are in the appropriate contra/covariant subtype relation.
doi:10.1093/comjnl/bxn029 Enumerating Proofs of Positive Formulae
, 2007
"... We provide a semigrammatical description of the set of normal proofs of positive formulae in minimal predicate logic, i.e. a grammar that generates a set of schemes, from each of which we can produce a finite number of normal proofs. This method is complete in the sense that each normal proofterm ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We provide a semigrammatical description of the set of normal proofs of positive formulae in minimal predicate logic, i.e. a grammar that generates a set of schemes, from each of which we can produce a finite number of normal proofs. This method is complete in the sense that each normal proofterm of the formula is produced by some scheme generated by the grammar. As a corollary, we get a similar description of the set of normal proofs of positive formulae for a large class of theories including simple type theory and System F.
Counting a Type's Principal Inhabitants
 Fundamenta Informaticae
, 1998
"... We present a Counting Algorithm that computes the number of terms in normal form that have a given type as a principal type and produces a list of these terms. The design of the algorithm follows the lines of BenYelles' algorithm for counting normal (not necessarily principal) inhabitants o ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
We present a Counting Algorithm that computes the number of terms in normal form that have a given type as a principal type and produces a list of these terms. The design of the algorithm follows the lines of BenYelles' algorithm for counting normal (not necessarily principal) inhabitants of a type . 1 Introduction In [2], BenYelles presented a Counting Algorithm, also described in [3], which given a type computes the number of terms in normal form that can receive type in TA . For each type the algorithm decides in a nite number of steps whether the number of closed normal forms with type is nite or innite, computes this number in the nite case, and lists all relevant terms in both cases. Related to this is the problem of counting the number of normal forms that have a given type as a principal type. As pointed out in ([3], p. 127), this problem is still open and in this paper we present a Counting Algorithm which solves this case. Analogous to BenY...
Counting proofs in propositional logic
, 2008
"... We give a procedure for counting the number of different proofs of a formula in various sorts of propositional logic. This number is either an integer (that may be 0 if the formula is not provable) or infinite. 1 ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We give a procedure for counting the number of different proofs of a formula in various sorts of propositional logic. This number is either an integer (that may be 0 if the formula is not provable) or infinite. 1
Generating Normal Inhabitants of Types With a Common Structure
, 2001
"... In [10] it was shown that it is possible to describe the set of normal inhabitants of a given type , in the standard simple type system, using an infinitary extension of the concept of contextfree grammar, which allows for an infinite number of nonterminal symbols as well as production rules. Th ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
In [10] it was shown that it is possible to describe the set of normal inhabitants of a given type , in the standard simple type system, using an infinitary extension of the concept of contextfree grammar, which allows for an infinite number of nonterminal symbols as well as production rules. The set of normal inhabitants of corresponds then to the set of terms generated by this, possibly infinitary, grammar plus all terms obtained from those by reduction. In this paper we show that the set of normal inhabitants of a type can in fact be described using a standard (finite) contextfree grammar, and more interestingly that the sets of normal inhabitants of all types with a same structure are described by contextfree grammars which share one unique underlying structure. The definition of a common scheme for these grammars, which depends uniquely on the given type structure, is based on an alternative representation for types, introduced in [4], which gives us a better insight on the nature of a type's structure and its relation to the structure of the set of its normal inhabitants.
Coinductive Axiomatization of Recursive Type Equality and Subtyping ⋆
"... Abstract. We present new sound and complete axiomatizations of type equality and subtype inequality for a firstorder type language with regular recursive types. The rules are motivated by coinductive characterizations of type containment and type equality via simulation and bisimulation, respective ..."
Abstract
 Add to MetaCart
Abstract. We present new sound and complete axiomatizations of type equality and subtype inequality for a firstorder type language with regular recursive types. The rules are motivated by coinductive characterizations of type containment and type equality via simulation and bisimulation, respectively. The main novelty of the axiomatization is the fixpoint rule (or coinduction principle), which has the form A, P ⊢ P A ⊢ P where P is either a type equality τ = τ ′ or type containment τ ≤ τ ′. We define what it means for a proof (formal derivation) to be formally contractive and show that the fixpoint rule is sound if the proof of the premise A, P ⊢ P is contractive. (A proof of A,P ⊢ P using the assumption axiom is, of course, not contractive.) The fixpoint rule thus allows us to capture a coinductive relation in the fundamentally inductive framework of inference systems. The new axiomatizations are “leaner ” than previous axiomatizations, particularly so for type containment since no separate axiomatization of type equality is required, as in Amadio and Cardelli’s axiomatization. They give rise to a natural operational interpretation of proofs as coercions. In particular, the fixpoint rule corresponds to definition by recursion. Finally, the axiomatization is closely related to (known) efficient algorithms for deciding type equality and type containment. These can be modified to not only decide type equality and type containment, but also construct proofs in our axiomatizations efficiently. In connection with the operational interpretation of proofs as coercions this gives efficient (O(n 2) time) algorithms for constructing efficient coercions from a type to any of its supertypes or isomorphic types. 1
On the Structure of Normal LambdaTerms Having a Certain Type
"... We de ne an alternative representation for types in the simply typed calculus or equivalently for formulas in the implicational fragment of intuitionist propositional logic, which gives us a better insight on the nature of a types structure and its relation to the structure of the set of its norma ..."
Abstract
 Add to MetaCart
We de ne an alternative representation for types in the simply typed calculus or equivalently for formulas in the implicational fragment of intuitionist propositional logic, which gives us a better insight on the nature of a types structure and its relation to the structure of the set of its normal inhabitants. Based on this representation of a type ', we de ne the notion of a valid proof tree. Any such valid proof tree represents a nite set of normal inhabitants of ' and every normal inhabitant corresponds to exactly one valid proof tree, constructable with the primitive parts in the formula tree of '. Precise algorithms are given to establish this relation. Finally, we give a simple characterisation of the proof trees that represent principal normal inhabitants of a type '.