CLF: A Dependent Logical Framework for Concurrent Computations∗
نویسندگان
چکیده
We present CLF, a dependently typed logical framework with several novel features supporting concurrent computations, in particular monads and synchronous linear connectives. We illustrate its representation methodology of concurrent computations as monadic expressions via the encoding of an asynchronous π-calculus with correspondence assertions, including its dynamic semantics, safety criterion, and a type system with latent effects due to Gordon and Jeffrey. We also explain a new, general methodology for defining dependently-typed logical frameworks in the LF family. The methodology involves defining the terms of the framework directly in canonical form and greatly simplifies much of the metatheory of these frameworks, which has been notoriously difficult in the past. We have used the methodology to show that CLF has a number of key properties including decidability of type checking.
منابع مشابه
A Concurrent Logical Framework: The Propositional Fragment
We present the propositional fragment CLF0 of the Concurrent Logical Framework (CLF). CLF extends the Linear Logical Framework to allow the natural representation of concurrent computations in an object language. The underlying type theory uses monadic types to segregate values from computations. This separation leads to a tractable notion of definitional equality that identifies computations d...
متن کاملA Concurrent Logical Framework I: Judgments and Properties
The Concurrent Logical Framework, or CLF, is a new logical framework in which concurrent computations can be represented as monadic objects, for which there is an intrinsic notion of concurrency. It is designed as a conservative extension of the linear logical framework LLF with the synchronous connectives ⊗, 1, !, and ∃ of intuitionistic linear logic, encapsulated in a monad. LLF is itself a c...
متن کاملSpecifying Properties of Concurrent Computations in CLF
CLF (the Concurrent Logical Framework) is a language for specifying and reasoning about concurrent systems. Its most significant feature is the first-class representation of concurrent executions as monadic expressions. We illustrate the representation techniques available within CLF by applying them to an asynchronous pi-calculus with correspondence assertions, including its dynamic semantics,...
متن کاملTowards Meta-Reasoning in the Concurrent Logical Framework CLF
The concurrent logical framework CLF is an extension of the logical framework LF designed to specify concurrent and distributed languages. While it can be used to define a variety of formalisms, reasoning about such languages within CLF has proved elusive. In this paper, we propose an extension of LF that allows us to express properties of CLF specifications. We illustrate the approach with a p...
متن کاملAvoiding Causal Dependencies via Proof Irrelevance in a Concurrent Logical Framework
The Concurrent Logic Framework (CLF) is a foundational type theory for encoding concurrent computations by representing resources with linearity and encapsulating the effects of concurrency in a monad. The definition of concurrent equality via commuting conversions identifies computations differing only in the order of execution of independent steps, capturing a form of true concurrency in a pr...
متن کامل