Results 1  10
of
11
SecurityTyped Programming within DependentlyTyped Programming
"... Abstract. Several recent securitytyped programming languages allow programmers to express and enforce authorization policies governing access to controlled resources. Policies are expressed as propositions in an authorization logic, and enforced by a type system that requires each access to a sensi ..."
Abstract

Cited by 14 (2 self)
 Add to MetaCart
Abstract. Several recent securitytyped programming languages allow programmers to express and enforce authorization policies governing access to controlled resources. Policies are expressed as propositions in an authorization logic, and enforced by a type system that requires each access to a sensitive resource to be accompanied by a proof. The securitytyped languages described in the literature, such as Aura and PCML5, have been presented as new, standalone language designs. In this paper, we instead show how to embed a securitytyped programming language within an existing dependently typed programming language, Agda. This languagedesign strategy allows us to inherit both the metatheoretic results, such as type safety, and the implementation of the host language. Our embedding consists of the following ingredients: First, we represent the syntax and proofs of an authorization logic, Garg and Pfenning’s BL0, using dependent types. Second, we implement a proof search procedure, based on a focused sequent calculus, to ease the burden of constructing proofs. Third, we define an indexed monad of computations on behalf of a principal, with proofcarrying primitive operations. Our work shows that a dependently typed language can be used to prototype a securitytyped language, and contributes to the growing body of literature on using dependently typed languages to construct domainspecific type systems. 1
Reasoning about the consequences of authorization policies in a linear epistemic logic
, 2009
"... Authorization policies are not standalone objects: they are used to selectively permit actions that change the state of a system. Thus, it is desirable to have a framework for reasoning about the semantic consequences of policies. To this end, we extend a rewriting interpretation of linear logic w ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
Authorization policies are not standalone objects: they are used to selectively permit actions that change the state of a system. Thus, it is desirable to have a framework for reasoning about the semantic consequences of policies. To this end, we extend a rewriting interpretation of linear logic with connectives for modeling affirmation, knowledge, and possession. To cleanly confine semantic effects to the rewrite sequence, we introduce a monad. The result is a richly expressive logic that elegantly integrates policies and their effects. After presenting this logic and its metatheory, we demonstrate its utility by proving properties that relate a simple file system’s policies to their semantic consequences.
Proof search in an authorization logic
, 2009
"... We consider the problem of proof search in an expressive authorization logic that contains a “says ” modality and an ordering on principals. After a description of the proof system for the logic, we identify two fragments that admit complete goaldirected and saturating proof search strategies. A sm ..."
Abstract

Cited by 9 (5 self)
 Add to MetaCart
We consider the problem of proof search in an expressive authorization logic that contains a “says ” modality and an ordering on principals. After a description of the proof system for the logic, we identify two fragments that admit complete goaldirected and saturating proof search strategies. A smaller fragment is then presented, which supports both goaldirected and saturating search, and has a sound and complete translation to firstorder logic. We conclude with a brief description of our implementation of goaldirected search. This work was supported partially by the iCAST project sponsored by the National Science Council,
A constructive approach to the resource semantics of substructural logics. Unpublished manuscript. Available at http://www.cs.cmu.edu/∼jcreed/papers/rpsubstruct.pdf, 2009. [Sch00a] Carsten Schürmann. Automating the Meta Theory of Deductive Systems
"... Abstract. We propose a constructive approach to the resource semantics of substructural logics via proofpreserving translations into a fragment of focused firstorder intuitionistic logic with a preorder. Using these translations, we can obtain uniform proofs of cut admissibility, identity expansio ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Abstract. We propose a constructive approach to the resource semantics of substructural logics via proofpreserving translations into a fragment of focused firstorder intuitionistic logic with a preorder. Using these translations, we can obtain uniform proofs of cut admissibility, identity expansion, and the completeness of focusing for a variety of logics. We illustrate our approach on linear, ordered, and bunched logics.
HigherOrder Processes, Functions, and Sessions: A Monadic Integration
"... Abstract. In prior research we have developed a CurryHoward interpretation of linear sequent calculus as sessiontyped processes. In this paper we uniformly integrate this computational interpretation in a functional language via a linear contextual monad that isolates sessionbased concurrency. Mo ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Abstract. In prior research we have developed a CurryHoward interpretation of linear sequent calculus as sessiontyped processes. In this paper we uniformly integrate this computational interpretation in a functional language via a linear contextual monad that isolates sessionbased concurrency. Monadic values are open process expressions and are first class objects in the language, thus providing a logical foundation for higherorder session typed processes. We illustrate how the combined use of the monad and recursive types allows us to cleanly write a rich variety of concurrent programs, including higherorder programs that communicate processes. We show the standard metatheoretic result of type preservation, as well as a global progress theorem, which to the best of our knowledge, is new in the higherorder session typed setting. 1
Structural focalization
, 2011
"... Focusing, introduced by JeanMarc Andreoli in the context of classical linear logic, defines a normal form for sequent calculus derivations that cuts down on the number of possible derivations by eagerly applying invertible rules and grouping sequences of noninvertible rules. A focused sequent calc ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Focusing, introduced by JeanMarc Andreoli in the context of classical linear logic, defines a normal form for sequent calculus derivations that cuts down on the number of possible derivations by eagerly applying invertible rules and grouping sequences of noninvertible rules. A focused sequent calculus is defined relative to some nonfocused sequent calculus; focalization is the property that every nonfocused derivation can be transformed into a focused derivation. In this paper, we present a focused sequent calculus for polarized propositional intuitionistic logic and prove the focalization property relative to a standard presentation of propositional intuitionistic logic. Compared to existing approaches, the proof is quite concise, depending only on the internal soundness and completeness of the focused logic. In turn, both of these properties can be established (and mechanically verified) by structural induction in the style of Pfenning’s structural cut elimination without the need for any tedious and repetitious invertibility lemmas. The proof of cut admissibility for the focused system, which establishes internal soundness, is not particularly novel. The proof of identity expansion, which establishes internal completeness, is the principal contribution of this work. 1
Lecture Notes on Intuitionistic Kripke Semantics 15816: Modal Logic
, 2010
"... In this lecture we present an intuitionistic approach to describing a multipleworld semantics for modal logic in the style of Kripke. This is done by providing judgments and inference rules that reason about truths in multiple worlds. A thorough analysis of intuitionistic modal logic in this style ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
In this lecture we present an intuitionistic approach to describing a multipleworld semantics for modal logic in the style of Kripke. This is done by providing judgments and inference rules that reason about truths in multiple worlds. A thorough analysis of intuitionistic modal logic in this style
(will be inserted by the editor) Logical approximation for program analysis
, 2010
"... Abstract The abstract interpretation of programs relates the exact semantics of a programming language to an approximate semantics that can be effectively computed. We show that, by specifying operational semantics in a specification framework based on bottomup logic programming in ordered logic – ..."
Abstract
 Add to MetaCart
Abstract The abstract interpretation of programs relates the exact semantics of a programming language to an approximate semantics that can be effectively computed. We show that, by specifying operational semantics in a specification framework based on bottomup logic programming in ordered logic – a technique we call substructural operational semantics (SSOS) – manifestly sound program approximations can be derived by simple and intuitive transformations and approximations of the logic program. As examples, we describe how to derive control flow and alias analyses from the substructural operational semantics of the relevant languages. 1
Lecture Notes on Ordered Forward Chaining 15816: Linear Logic
, 2012
"... In the last lecture we saw ordered logic, which is in some sense even more primitive than linear logic. We also saw a focusing system for it, which is the basis for logic programming. We did not prove the completeness of focusing with respect to the sequent calculus—it follows the same pattern as fo ..."
Abstract
 Add to MetaCart
In the last lecture we saw ordered logic, which is in some sense even more primitive than linear logic. We also saw a focusing system for it, which is the basis for logic programming. We did not prove the completeness of focusing with respect to the sequent calculus—it follows the same pattern as for linear logic. In this lecture we will develop some examples of forward chaining ordered logic programs. One example encodes Turing machines, another extends the ideas behind substructural operational semantics to the ordered case, and a third concerns binary arithmetic. 1 Ordered Forward Chaining Forward chaining interprets proofs search as a form of committedchoice operational semantics. This can be justified by deriving complete sets of rules from certain kinds of unrestricted hypotheses, collected in a program of the form ΓP. This is just like we developed in some detail in Lecture 13 except that now order must be preserved amont the ordered resources. A state transition now has the form
A Logical Correspondence between Natural Semantics and Abstract Machines
"... Abstract—We present a logical correspondence between natural semantics and abstract machines. This correspondence enables machine from a natural semantics. Our logical correspondence mirrors the Reynolds functional correspondence but places it in a logical setting, as both semantics are encoded in a ..."
Abstract
 Add to MetaCart
Abstract—We present a logical correspondence between natural semantics and abstract machines. This correspondence enables machine from a natural semantics. Our logical correspondence mirrors the Reynolds functional correspondence but places it in a logical setting, as both semantics are encoded in a substructural logical framework. I.