Results 11  20
of
87
Substructural Operational Semantics as Ordered Logic Programming
"... We describe a substructural logic with ordered, linear, and persistent propositions and then endow a fragment with a committed choice forwardchaining operational interpretation. Exploiting higherorder terms in this metalanguage, we specify the operational semantics of a number of object language f ..."
Abstract

Cited by 17 (11 self)
 Add to MetaCart
(Show Context)
We describe a substructural logic with ordered, linear, and persistent propositions and then endow a fragment with a committed choice forwardchaining operational interpretation. Exploiting higherorder terms in this metalanguage, we specify the operational semantics of a number of object language features, such as callbyvalue, callbyname, callbyneed, mutable store, parallelism, communication, exceptions and continuations. The specifications exhibit a high degree of uniformity and modularity that allows us to analyze the structural properties required for each feature in isolation. Our substructural framework thereby provides a new methodology for language specification that synthesizes structural operational semantics, abstract machines, and logical approaches. 1
Case analysis of higherorder data
"... Abstract. We discuss coverage checking for data that is dependently typed and is defined using higherorder abstract syntax. Unlike previous work on coverage checking that required objects to be closed, we consider open data objects, i.e. objects that may depend on some context. Our work may therefo ..."
Abstract

Cited by 17 (14 self)
 Add to MetaCart
(Show Context)
Abstract. We discuss coverage checking for data that is dependently typed and is defined using higherorder abstract syntax. Unlike previous work on coverage checking that required objects to be closed, we consider open data objects, i.e. objects that may depend on some context. Our work may therefore provide insights into coverage checking in Twelf, and serve as a basis for coverage checking in functional languages such as Delphin and Beluga. More generally, our work is a foundation for proofs by case analysis in systems that reason about higherorder abstract syntax. 1
Proof Checking Technology for Satisfiability Modulo Theories
"... A common proof format for solvers for Satisfiability Modulo Theories (SMT) is proposed, based on the Edinburgh Logical Framework (LF). Two problems arise: checking very large proofs, and keeping proofs compact in the presence of complex side conditions on rules. Incremental checking combines parsing ..."
Abstract

Cited by 15 (4 self)
 Add to MetaCart
(Show Context)
A common proof format for solvers for Satisfiability Modulo Theories (SMT) is proposed, based on the Edinburgh Logical Framework (LF). Two problems arise: checking very large proofs, and keeping proofs compact in the presence of complex side conditions on rules. Incremental checking combines parsing and proof checking in a single step, to avoid building inmemory representations of proof subterms. LF with Side Conditions (LFSC) extends LF to allow side conditions to be expressed using a simple firstorder functional programming language. Experimental data with an implementation show very good proof checking times and memory usage on benchmarks including the important example of resolution inferences.
A Bidirectional Refinement Type System for LF
, 2007
"... We present a system of refinement types for LF in the style of recent formulations where only canonical forms are welltyped. Both the usual LF rules and the rules for type refinements are bidirectional, leading to a straightforward proof of decidability of typechecking even in the presence of inte ..."
Abstract

Cited by 13 (5 self)
 Add to MetaCart
(Show Context)
We present a system of refinement types for LF in the style of recent formulations where only canonical forms are welltyped. Both the usual LF rules and the rules for type refinements are bidirectional, leading to a straightforward proof of decidability of typechecking even in the presence of intersection types. Because we insist on canonical forms, structural rules for subtyping can now be derived rather than being assumed as primitive. We illustrate the expressive power of our system with several examples in the domain of logics and programming languages.
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 12 (7 self)
 Add to MetaCart
(Show Context)
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 Semantic Model for Graphical User Interfaces
, 2011
"... We give a denotational model for graphical user interface (GUI) programming in terms of the cartesian closed category of ultrametric spaces. The metric structure allows us to capture natural restrictions on reactive systems, such as causality, while still allowing recursively defined values. We capt ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
(Show Context)
We give a denotational model for graphical user interface (GUI) programming in terms of the cartesian closed category of ultrametric spaces. The metric structure allows us to capture natural restrictions on reactive systems, such as causality, while still allowing recursively defined values. We capture the arbitrariness of user input (e.g., a user gets to decide the stream of clicks she sends to a program) by making use of the fact that the closed subsets of a metric space themselves form a metric space under the Hausdorff metric, allowing us to interpret nondeterminism with a “powerspace ” monad on ultrametric spaces. The powerspace monad is commutative, and hence gives rise to a model of linear logic. We exploit this fact by constructing a mixed linear/nonlinear domainspecific language for GUI programming. The linear sublanguage naturally captures the usage constraints on the various linear objects in GUIs, such as the elements of a DOM or scene graph. We have implemented this DSL as an extension to OCaml, and give examples demonstrating that programs in this style can be short and readable.
Representing the MSR Cryptoprotocol Specification Language in an Extension of Rewriting Logic with Dependent Types
, 2004
"... This paper presents a shallow and hence efficient embedding of the security protocol specification language MSR into rewriting logic with dependent types, an instance of the open calculus of constructions which integrates key concepts from equational logic, rewriting logic, and type theory. MSR is b ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
(Show Context)
This paper presents a shallow and hence efficient embedding of the security protocol specification language MSR into rewriting logic with dependent types, an instance of the open calculus of constructions which integrates key concepts from equational logic, rewriting logic, and type theory. MSR is based on a form of firstorder multiset rewriting extended with existential name generation and a flexible type infrastructure centered on dependent types with subsorting. This encoding is intended to serve as the basis for implementing an MSR specification and analysis environment using existing firstorder rewriting engines such as Maude.
Fast and Flexible Proof Checking for SMT
 In B. Dutertre and O. Strichman, editors, Workshop on Satisfiability Modulo Theories (SMT
, 2009
"... Abstract. Fast and flexible proof checking can be implemented for SMT using the Edinburgh Logical Framework with Side Conditions (LFSC). LFSC provides a declarative format for describing proof systems as signatures. We describe several optimizations for LFSC proof checking, and report experiments o ..."
Abstract

Cited by 10 (6 self)
 Add to MetaCart
(Show Context)
Abstract. Fast and flexible proof checking can be implemented for SMT using the Edinburgh Logical Framework with Side Conditions (LFSC). LFSC provides a declarative format for describing proof systems as signatures. We describe several optimizations for LFSC proof checking, and report experiments on QF IDL benchmarks showing proofchecking overhead of 30 % of the solving time required by our clsat solver. 1
A focusing inverse method theorem prover for firstorder linear logic
 In Proceedings of CADE20
, 2005
"... Abstract. We present the theory and implementation of a theorem prover forfirstorder intuitionistic linear logic based on the inverse method. The central prooftheoretic insights underlying the prover concern resource management andfocused derivations, both of which are traditionally understood in ..."
Abstract

Cited by 10 (8 self)
 Add to MetaCart
(Show Context)
Abstract. We present the theory and implementation of a theorem prover forfirstorder intuitionistic linear logic based on the inverse method. The central prooftheoretic insights underlying the prover concern resource management andfocused derivations, both of which are traditionally understood in the domain of backward reasoning systems such as logic programming. We illustrate how resource management, focusing, and other intrinsic properties of linear connectives affect the basic forward operations of rule application, contraction, and forwardsubsumption. We also present some preliminary experimental results obtained with our implementation.
An insider’s look at LF type reconstruction: Everything you (n)ever wanted to know
, 2010
"... Although type reconstruction for dependently typed languages is common in practical systems, it is still illunderstood. Detailed descriptions of the issues around it are hard to find and formal descriptions together with correctness proofs are nonexisting. In this paper, we discuss a onepass type ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
(Show Context)
Although type reconstruction for dependently typed languages is common in practical systems, it is still illunderstood. Detailed descriptions of the issues around it are hard to find and formal descriptions together with correctness proofs are nonexisting. In this paper, we discuss a onepass type reconstruction for objects in the logical framework LF, describe formally the type reconstruction process using the framework of contextual modal types, and prove correctness of type reconstruction. Since type reconstruction will find the most general types and may leave free variables, we in addition describe abstraction which will return a closed object where all free variables are bound at the outside. We also implemented our algorithms as part of the Beluga language, and the performance of our type reconstruction algorithm is comparable to type reconstruction in existing systems such as the logical framework Twelf. 1