Results 1 
9 of
9
Rank 2 Type Systems and Recursive Definitions
, 1995
"... We demonstrate an equivalence between the rank 2 fragments of the polymorphic lambda calculus (System F) and the intersection type discipline: exactly the same terms are typable in each system. An immediate consequence is that typability in the rank 2 intersection system is DEXPTIMEcomplete. We int ..."
Abstract

Cited by 26 (1 self)
 Add to MetaCart
We demonstrate an equivalence between the rank 2 fragments of the polymorphic lambda calculus (System F) and the intersection type discipline: exactly the same terms are typable in each system. An immediate consequence is that typability in the rank 2 intersection system is DEXPTIMEcomplete. We introduce a rank 2 system combining intersections and polymorphism, and prove that it types exactly the same terms as the other rank 2 systems. The combined system suggests a new rule for typing recursive definitions. The result is a rank 2 type system with decidable type inference that can type some interesting examples of polymorphic recursion. Finally,we discuss some applications of the type system in data representation optimizations such as unboxing and overloading.
Semantic Unification for Convergent Systems
, 1994
"... Equation solving is the process of finding a substitution of terms for variables that makes two terms equal in a given theory, while semantic unification is the process that generates a basis set of such unifying substitutions. A simpler variant of the problem is semantic matching, where the substit ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Equation solving is the process of finding a substitution of terms for variables that makes two terms equal in a given theory, while semantic unification is the process that generates a basis set of such unifying substitutions. A simpler variant of the problem is semantic matching, where the substitution is made in only one of the terms. Semantic unification and matching constitute an important component of theorem proving and programming language interpreters. In this thesis we formulate a unification procedure based on a system of transformation rules that looks at goals in a lazy, topdown fashion, and prove its soundness and completeness for equational theories described by convergent rewrite systems (finite sets of equations that compute unique output values when applied from lefttoright to input values). We consider different variants of the system of transformation rules. We describe syntactic restrictions on the equations under which simpler sets of transformation rules are sufficient for generating a complete set of semantic matchings. We show that our firstorder unification procedure, with slight modifications, can be used to solve the satis ability problem in combinatory logic together with a convergent set of algebraic axioms, resulting in a complete higherorder unifi cation procedure for the given algebra. We also provide transformation rules to handle sit
Typesafe Computation with Heterogeneous Data
, 2007
"... Computation with largescale heterogeneous data typically requires universal traversal to search forall occurrences of a substructure that matches a possibly complex search pattern, whose context may be different in different places within the data. Both aspects cause difficulty for existing general ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Computation with largescale heterogeneous data typically requires universal traversal to search forall occurrences of a substructure that matches a possibly complex search pattern, whose context may be different in different places within the data. Both aspects cause difficulty for existing generalpurpose programming languages, because these languages are designed for homogeneous data and have problems typing the different substructures in heterogeneous data, and the complex patterns to match with the substructures. Programmers either have to hardcode the structures and search patterns, preventing programs from being reusable and scalable, or have to use lowlevel untyped programming or programming with specialpurpose query languages, opening the door to type mismatches that cause a high risk of program correctness and security problems. This thesis invents the concept of pattern structures, and proposes a general solution to the above problems  a programming technique using pattern structures. In this solution, welltyped pattern structures are defined to represent complex search patterns, and pattern searching over heterogeneous data is programmed with pattern parameters, in a staticallytyped language that supports firstclass typing of structures and patterns. The resulting programs are staticallytyped, highly reusable for different data structures and different patterns, and highly scalable in terms of the complexity of data structures and patterns. Adding new kinds of patterns for an application no longer requires changing the language in use or creating new ones, but is only a programming task. The thesis demonstrates the application of this approach to, and its advantages in, two important examples of computation with heterogeneous data, i.e., XML data processing and Java bytecode analysis.
An experimental support system for formal mathematical reasoning
"... Abstract. Requirements for tools which support the creation and the intelligible presentation of formal deductions are investigated. They are contrasted with requirements which emphasize the interactive construction of correct proofs. As an example, the design and the implementation of a set of supp ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. Requirements for tools which support the creation and the intelligible presentation of formal deductions are investigated. They are contrasted with requirements which emphasize the interactive construction of correct proofs. As an example, the design and the implementation of a set of support tools for Deva is described. Deva isatyped functional language and has been used in a number of casestudies on formal program development. The use of this toolset is illustrated by impressions of a working session.
Unification of Concept Terms (Extended Abstract)
, 1997
"... Knowledge representation languages based on Description Logics (DL languages) can be used to represent the terminological knowledge of an application domain in a structured and formally wellunderstood way [7, 3]. With the help of these languages, the important notions of the domain can be described ..."
Abstract
 Add to MetaCart
Knowledge representation languages based on Description Logics (DL languages) can be used to represent the terminological knowledge of an application domain in a structured and formally wellunderstood way [7, 3]. With the help of these languages, the important notions of the domain can be described by concept terms, i.e., expressions that are built from atomic concepts (unary predicates) and atomic roles (binary predicates) using the concept constructors provided by the DL language. The atomic concepts and concept terms represent sets of individuals, whereas roles represent binary relations between individuals. For example, using the atomic conceptWoman and the atomic role child, the co...
ISRNKTH/CSC/A–11/15SE
"... Tryck: EPrintiii Software testing remains one of the most important but expensive approaches to ensure highquality software today. In order to reduce the cost of testing, over the last several decades, various techniques such as formal verification and inductive learning have been used for test au ..."
Abstract
 Add to MetaCart
(Show Context)
Tryck: EPrintiii Software testing remains one of the most important but expensive approaches to ensure highquality software today. In order to reduce the cost of testing, over the last several decades, various techniques such as formal verification and inductive learning have been used for test automation in previous research. In this thesis, we present a specificationbased blackbox testing approach, learningbased testing (LBT), which is suitable for a wide range of systems, e.g. procedural and reactive systems. In the LBT architecture, given the requirement specification of a system under test (SUT), a large number of highquality test cases can be iteratively generated, executed and evaluated by means of combining inductive learning with constraint solving. We apply LBT to two types of systems, namely procedural and reactive systems. We specify a procedural system in Hoare logic and model it as a set