A Logical Foundation for Session

... Over the years, computation systems have evolved from monolithic single-threaded machines to concurrent and distributed environments with multiple communicating threads of execution, for which writing correct programs becomes substantially harder than in the more traditional sequential setting. Thes ...

... Over the years, computation systems have evolved from monolithic single-threaded machines to concurrent and distributed environments with multiple communicating threads of execution, for which writing correct programs becomes substantially harder than in the more traditional sequential setting. Thes ...

TR-14-06 - Ynot - Harvard University

... We emphasize that the second phase may be implemented in many different ways, offering a range of correctness assurances. For example, the verification conditions may be discharged in interaction with the programmer, or checked against a supplied formal proof, or passed to a theorem prover which can ...

... We emphasize that the second phase may be implemented in many different ways, offering a range of correctness assurances. For example, the verification conditions may be discharged in interaction with the programmer, or checked against a supplied formal proof, or passed to a theorem prover which can ...

Inductive Types in Constructive Languages

... to include inductive types as a basic principle; natural numbers suffice to construct these. On this foundation I build the language ADAM by looking at how constructions and proofs that I encountered or drafted could be formulated as naturally as possible while adhering to the rules of type theory. ...

... to include inductive types as a basic principle; natural numbers suffice to construct these. On this foundation I build the language ADAM by looking at how constructions and proofs that I encountered or drafted could be formulated as naturally as possible while adhering to the rules of type theory. ...

Thesis Proposal: A Logical Foundation for Session-based

... Over the years, computation systems have evolved from monolithic single-threaded machines to concurrent and distributed environments with multiple communicating threads of execution, for which writing correct programs becomes substantially harder than in the more traditional sequential setting. Thes ...

... Over the years, computation systems have evolved from monolithic single-threaded machines to concurrent and distributed environments with multiple communicating threads of execution, for which writing correct programs becomes substantially harder than in the more traditional sequential setting. Thes ...

Chiron: A Set Theory with Types

... The usefulness of a logic is often measured by its expressivity: the more that can be expressed in the logic, the more useful the logic is. By a logic, we mean a language (or a family of languages) that has a formal syntax and a precise semantics with a notion of logical consequence. (A logic may al ...

... The usefulness of a logic is often measured by its expressivity: the more that can be expressed in the logic, the more useful the logic is. By a logic, we mean a language (or a family of languages) that has a formal syntax and a precise semantics with a notion of logical consequence. (A logic may al ...

A Conditional Logical Framework *

... strong normalization of typable terms, as proved in [HLL07]. The idea underlying the Conditional Logical Framework LFK is the same exploited in [HLL07] for the General Logical Framework GLF. However, there is an important difference between the two frameworks in the definition of predicates. On one ...

... strong normalization of typable terms, as proved in [HLL07]. The idea underlying the Conditional Logical Framework LFK is the same exploited in [HLL07] for the General Logical Framework GLF. However, there is an important difference between the two frameworks in the definition of predicates. On one ...

Dedukti

... the realm of formal proofs is today a tower of Babel, just like the realm of theories was, before the design of predicate logic. The reason why these formalisms have not been defined as theories in predicate logic is that predicate logic, as a logical framework, has several limitations, that make it ...

... the realm of formal proofs is today a tower of Babel, just like the realm of theories was, before the design of predicate logic. The reason why these formalisms have not been defined as theories in predicate logic is that predicate logic, as a logical framework, has several limitations, that make it ...

Weyl`s Predicative Classical Mathematics as a Logic

... There are several ways in which a type theory may be modified so as to be appropriate for formalising classical mathematics. This cannot however be done without changing the structure of the datatypes, because the two interact so strongly. In MLTT, they are one and the same; in ECC or CIC, the unive ...

... There are several ways in which a type theory may be modified so as to be appropriate for formalising classical mathematics. This cannot however be done without changing the structure of the datatypes, because the two interact so strongly. In MLTT, they are one and the same; in ECC or CIC, the unive ...

- Free Documents

... a type. So far we only know that propositional equality is a re exive relation. For instance. Also. we may write x M or even xM instead of x M . N is inhabited.e.. de nitional equality is the congruence generated by the computational equations like NCZ and C. and therefore cannot be established by i ...

... a type. So far we only know that propositional equality is a re exive relation. For instance. Also. we may write x M or even xM instead of x M . N is inhabited.e.. de nitional equality is the congruence generated by the computational equations like NCZ and C. and therefore cannot be established by i ...

Syntax and Semantics of Dependent Types

... We will henceforth freely suppress type annotations if this increases readability. For instance, we may write x: :M or even x:M instead of x: :M . We sometimes omit a prevailing context ? and thus write ` J instead of ? ` J . We write ` J if we want to emphasise that a judgement holds in th ...

... We will henceforth freely suppress type annotations if this increases readability. For instance, we may write x: :M or even x:M instead of x: :M . We sometimes omit a prevailing context ? and thus write ` J instead of ? ` J . We write ` J if we want to emphasise that a judgement holds in th ...

Rewriting in the partial algebra of typed terms modulo AC

... happens in each dimension of the vector is dissociated from the other components, petri nets possess subtle parallelism facilities. On the other hand the expressiveness over control flow is quiet weak (e.g. it is impossible to encode a stack). The fundamental result over petri nets is the problem of ...

... happens in each dimension of the vector is dissociated from the other components, petri nets possess subtle parallelism facilities. On the other hand the expressiveness over control flow is quiet weak (e.g. it is impossible to encode a stack). The fundamental result over petri nets is the problem of ...

Structural Types for the Factorisation Calculus

... calculus similar to combinatory logic, introduces the factorisation combinator F , whose reduction behaviour is different depending on whether its first argument is an operator or an application. This enables F to identify and decompose the internal structure of a term, and test for intensional equa ...

... calculus similar to combinatory logic, introduces the factorisation combinator F , whose reduction behaviour is different depending on whether its first argument is an operator or an application. This enables F to identify and decompose the internal structure of a term, and test for intensional equa ...

A Verified Compiler for Probability Density Functions

... type rather than represented as unit + unit. – The type double is called real and it represents a real number with absolute precision as opposed to an IEEE 754 floating point number. In the following subsections, we give the precise syntax, typing rules, and semantics of both our source language and ...

... type rather than represented as unit + unit. – The type double is called real and it represents a real number with absolute precision as opposed to an IEEE 754 floating point number. In the following subsections, we give the precise syntax, typing rules, and semantics of both our source language and ...

... type rather than represented as unit + unit. – The type double is called real and it represents a real number with absolute precision as opposed to an IEEE 754 floating point number. In the following subsections, we give the precise syntax, typing rules, and semantics of both our source language and ...

Interactive Theorem Proving in Coq and the Curry

... In Coq, type-checking is done with respect to an environment, determined by the declaration and definitions that were executed earlier. A declaration is used to attach a type to an identifier, without giving the value. For example, the declaration of an identifier x with type A is written (x : A). O ...

... In Coq, type-checking is done with respect to an environment, determined by the declaration and definitions that were executed earlier. A declaration is used to attach a type to an identifier, without giving the value. For example, the declaration of an identifier x with type A is written (x : A). O ...

Subset Types and Partial Functions

... This paper develops a unified approach to partial functions and subset types, which does not suffer from this anomalous behavior. We begin with a higherorder logic that allows functions to be undefined on some arguments. We extend this logic’s type system to include subset types, but we retain deci ...

... This paper develops a unified approach to partial functions and subset types, which does not suffer from this anomalous behavior. We begin with a higherorder logic that allows functions to be undefined on some arguments. We extend this logic’s type system to include subset types, but we retain deci ...

A Concurrent Logical Framework: The Propositional Fragment Kevin Watkins , Iliano Cervesato

... We write {A} for the monad type, which in lax logic would be written A [33]. But which types should be available inside the monad? They must be expressive enough to represent the state after a computation step in the concurrent object language. This is most naturally represented by the multiplicati ...

... We write {A} for the monad type, which in lax logic would be written A [33]. But which types should be available inside the monad? They must be expressive enough to represent the state after a computation step in the concurrent object language. This is most naturally represented by the multiplicati ...

Propositions as [Types] - Research Showcase @ CMU

... types of Maietti [Mai98], in a suitable setting. Palmgren [Pal01] formulated a BHK interpretation of intuitionistic logic and used image factorizations, which are used in the semantics of our bracket types, to relate the BHK interpretation to the standard category-theoretic interpretation of proposi ...

... types of Maietti [Mai98], in a suitable setting. Palmgren [Pal01] formulated a BHK interpretation of intuitionistic logic and used image factorizations, which are used in the semantics of our bracket types, to relate the BHK interpretation to the standard category-theoretic interpretation of proposi ...

Post Systems in Programming Languages Pr ecis 1 Introduction

... of a premise. If a variable appears twice in a premise, then any instance of the production must insert the same string in place of all occurrences of the variable. A single production in a grammar cannot achieve the same result (although the same eect can be achieved in a grammar through a complex ...

... of a premise. If a variable appears twice in a premise, then any instance of the production must insert the same string in place of all occurrences of the variable. A single production in a grammar cannot achieve the same result (although the same eect can be achieved in a grammar through a complex ...

Supplemental Reading 1

... P . In axiomatic set theory the existence of this set is guaranteed by the separation axiom. The idea is that the predicate P separates a subset of A as in the example of say the prime numbers, fx :N j prime(x)g. To understand this type, we need to know something about predicates. In axiomatic set t ...

... P . In axiomatic set theory the existence of this set is guaranteed by the separation axiom. The idea is that the predicate P separates a subset of A as in the example of say the prime numbers, fx :N j prime(x)g. To understand this type, we need to know something about predicates. In axiomatic set t ...

Martin-Löf`s Type Theory

... It is also possible to view a set as a problem description in a way similar to Kolmogorov’s explanation of the intuitionistic propositional calculus [25]. In particular, a set can be seen as a specification of a programming problem; the elements of the set are then the programs that satisfy the spec ...

... It is also possible to view a set as a problem description in a way similar to Kolmogorov’s explanation of the intuitionistic propositional calculus [25]. In particular, a set can be seen as a specification of a programming problem; the elements of the set are then the programs that satisfy the spec ...

MoggiMonads.pdf

... programming language and categories with a monad satisfying the mono requirement. For other programming languages we will give only their translation in a suitable extension of the metalanguage. In this way, issues like call-by-value versus call-by-name affect the translation, but not the metalangua ...

... programming language and categories with a monad satisfying the mono requirement. For other programming languages we will give only their translation in a suitable extension of the metalanguage. In this way, issues like call-by-value versus call-by-name affect the translation, but not the metalangua ...

PDF (216 KB)

... According to Markov’s CRM approach, all objects are algorithms, where algorithms are understood as ﬁnite strings in a ﬁnite alphabet. All logical connectives are understood in a constructive way. That is, a statement is true if and only if there exists an algorithm that produces a witness of this st ...

... According to Markov’s CRM approach, all objects are algorithms, where algorithms are understood as ﬁnite strings in a ﬁnite alphabet. All logical connectives are understood in a constructive way. That is, a statement is true if and only if there exists an algorithm that produces a witness of this st ...

classden

... interest is in stating and proving metatheorems on completeness, decidability etc. Such aims are best served with logics with a limited expressivity, as increase in expressivity generally leads to loss of metalogical properties. On the other hand, the goal of providing a general logical framework f ...

... interest is in stating and proving metatheorems on completeness, decidability etc. Such aims are best served with logics with a limited expressivity, as increase in expressivity generally leads to loss of metalogical properties. On the other hand, the goal of providing a general logical framework f ...