Results 1  10
of
77
Cayenne  a Language With Dependent Types
 IN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING
, 1998
"... Cayenne is a Haskelllike language. The main difference between Haskell and Cayenne is that Cayenne has dependent types, i.e., the result type of a function may depend on the argument value, and types of record components (which can be types or values) may depend on other components. Cayenne also co ..."
Abstract

Cited by 219 (0 self)
 Add to MetaCart
Cayenne is a Haskelllike language. The main difference between Haskell and Cayenne is that Cayenne has dependent types, i.e., the result type of a function may depend on the argument value, and types of record components (which can be types or values) may depend on other components. Cayenne also combines the syntactic categories for value expressions and type expressions; thus reducing the number of language concepts. Having dependent types and combined type and value expressions makes the language very powerful. It is powerful enough that a special module concept is unnecessary; ordinary records suffice. It is also powerful enough to encode predicate logic at the type level, allowing types to be used as specifications of programs. However, this power comes at a cost: type checking of Cayenne is undecidable. While this may appear to be a steep price to pay, it seems to work well in practice.
A Linear Logical Framework
, 1996
"... We present the linear type theory LLF as the forAppeared in the proceedings of the Eleventh Annual IEEE Symposium on Logic in Computer Science  LICS'96 (E. Clarke editor), pp. 264275, New Brunswick, NJ, July 2730 1996. mal basis for a conservative extension of the LF logical framework. LLF c ..."
Abstract

Cited by 217 (44 self)
 Add to MetaCart
We present the linear type theory LLF as the forAppeared in the proceedings of the Eleventh Annual IEEE Symposium on Logic in Computer Science  LICS'96 (E. Clarke editor), pp. 264275, New Brunswick, NJ, July 2730 1996. mal basis for a conservative extension of the LF logical framework. LLF combines the expressive power of dependent types with linear logic to permit the natural and concise representation of a whole new class of deductive systems, namely those dealing with state. As an example we encode a version of MiniML with references including its type system, its operational semantics, and a proof of type preservation. Another example is the encoding of a sequent calculus for classical linear logic and its cut elimination theorem. LLF can also be given an operational interpretation as a logic programming language under which the representations above can be used for type inference, evaluation and cutelimination. 1 Introduction A logical framework is a formal system desig...
Indexed InductionRecursion
, 2001
"... We give two nite axiomatizations of indexed inductiverecursive de nitions in intuitionistic type theory. They extend our previous nite axiomatizations of inductiverecursive de nitions of sets to indexed families of sets and encompass virtually all de nitions of sets which have been used in ..."
Abstract

Cited by 44 (16 self)
 Add to MetaCart
We give two nite axiomatizations of indexed inductiverecursive de nitions in intuitionistic type theory. They extend our previous nite axiomatizations of inductiverecursive de nitions of sets to indexed families of sets and encompass virtually all de nitions of sets which have been used in intuitionistic type theory. The more restricted of the two axiomatization arises naturally by considering indexed inductiverecursive de nitions as initial algebras in slice categories, whereas the other admits a more general and convenient form of an introduction rule.
The Implementation of ALF  a Proof Editor based on MartinLöf's Monomorphic Type Theory with Explicit Substitution
, 1995
"... This thesis describes the implementation of ALF, which is an interactive proof editor based on MartinLöf's type theory with explicit substitutions. ALF is a general purpose proof assistant, in which different logics can be represented. Proof objects are manipulated directly, by the usual editing op ..."
Abstract

Cited by 43 (0 self)
 Add to MetaCart
This thesis describes the implementation of ALF, which is an interactive proof editor based on MartinLöf's type theory with explicit substitutions. ALF is a general purpose proof assistant, in which different logics can be represented. Proof objects are manipulated directly, by the usual editing operations. A partial proof is represented as an incomplete proof object, i.e., a proof object containing placeholders. A modular type/proof checking algorithm for complete proof objects is presented, and it is proved sound and complete assuming some basic meta theory properties of the substitution calculus. The algorithm is extended to handle incomplete objects in such a way that the type checking problem is reduced to a unication problem, i.e., the problem of finding instantiations to the placeholders in the object. Placeholders are represented together with their expected type and local context. We show that checking the correctness of instantiations can be localised, which means that it is e...
Syntax and Semantics of Dependent Types
 Semantics and Logics of Computation
, 1997
"... ion is written as [x: oe]M instead of x: oe:M and application is written M(N) instead of App [x:oe] (M; N ). 1 Iterated abstractions and applications are written [x 1 : oe 1 ; : : : ; x n : oe n ]M and M(N 1 ; : : : ; N n ), respectively. The lacking type information can be inferred. The universe ..."
Abstract

Cited by 40 (4 self)
 Add to MetaCart
ion is written as [x: oe]M instead of x: oe:M and application is written M(N) instead of App [x:oe] (M; N ). 1 Iterated abstractions and applications are written [x 1 : oe 1 ; : : : ; x n : oe n ]M and M(N 1 ; : : : ; N n ), respectively. The lacking type information can be inferred. The universe is written Set instead of U . The Eloperator is omitted. For example the \Pitype is described by the following constant and equality declarations (understood in every valid context): ` \Pi : (oe: Set; : (oe)Set)Set ` App : (oe: Set; : (oe)Set; m: \Pi(oe; ); n: oe) (m) ` : (oe: Set; : (oe)Set; m: (x: oe) (x))\Pi(oe; ) oe: Set; : (oe)Set; m: (x: oe) (x); n: oe ` App(oe; ; (oe; ; m); n) = m(n) Notice, how terms with free variables are represented as framework abstractions (in the type of ) and how substitution is represented as framework application (in the type of App and in the equation). In this way the burden of dealing correctly with variables, substitution, and binding is s...
Modelling General Recursion in Type Theory
 Mathematical Structures in Computer Science
, 2002
"... Constructive type theory is an expressive programming language where both algorithms and proofs can be represented. However, general recursive algorithms have no direct formalisation in type theory since they contain recursive calls that satisfy no syntactic condition guaranteeing termination. ..."
Abstract

Cited by 38 (6 self)
 Add to MetaCart
Constructive type theory is an expressive programming language where both algorithms and proofs can be represented. However, general recursive algorithms have no direct formalisation in type theory since they contain recursive calls that satisfy no syntactic condition guaranteeing termination.
A user's guide to ALF
, 1994
"... Contents 1 Introduction 2 2 A first example 3 3 Description of the system 10 3.1 The two main windows : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10 3.2 The mouse : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 3.3 The scratch area : : : : : : : : : : : : ..."
Abstract

Cited by 36 (2 self)
 Add to MetaCart
Contents 1 Introduction 2 2 A first example 3 3 Description of the system 10 3.1 The two main windows : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10 3.2 The mouse : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 3.3 The scratch area : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 3.3.1 The Filemenu : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 3.3.2 The Definemenu : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3.3.3 The Constructmenu : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3.3.4 The Editmenu : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13 3.3.5 The Goalmenu : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14 3.3.6 The Contextmenu : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14 3.3.7 The Viewmenu