28 research outputs found
Separation Logic Modulo Theories
Logical reasoning about program data often requires dealing with heap
structures as well as scalar data types. Recent advances in Satisfiability
Modular Theory (SMT) already offer efficient procedures for dealing with
scalars, yet they lack any support for dealing with heap structures. In this
paper, we present an approach that integrates Separation Logic---a prominent
logic for reasoning about list segments on the heap---and SMT. We follow a
model-based approach that communicates aliasing among heap cells between the
SMT solver and the Separation Logic reasoning part. An experimental evaluation
using the Z3 solver indicates that our approach can effectively put to work the
advances in SMT for dealing with heap structures. This is the first decision
procedure for the combination of separation logic with SMT theories.Comment: 16 page
Step-Indexed Normalization for a Language with General Recursion
The Trellys project has produced several designs for practical dependently
typed languages. These languages are broken into two
fragments-a_logical_fragment where every term normalizes and which is
consistent when interpreted as a logic, and a_programmatic_fragment with
general recursion and other convenient but unsound features. In this paper, we
present a small example language in this style. Our design allows the
programmer to explicitly mention and pass information between the two
fragments. We show that this feature substantially complicates the metatheory
and present a new technique, combining the traditional Girard-Tait method with
step-indexed logical relations, which we use to show normalization for the
logical fragment.Comment: In Proceedings MSFP 2012, arXiv:1202.240
Risk Aversion and the Value of Risk to Life
The standard literature on the value of life relies on Yaari’s (1965) model, which includes an implicit assumption of risk neutrality with respect to life duration. To overpass this limitation, we extend the theory to a simple variety of preferences which are not necessarily additively separable. The enlargement we propose is relevant for the evaluation of life-saving programs: current practice, we estimate, puts too little weight on mortality risk reduction of the young. Our correction exceeds in magnitude that introduced by the switch from the notion of number of lives saved to the notion of years of life saved
Charge! - A Framework for Higher-Order Separation Logic in Coq
We present a comprehensive set of tactics for working with a shallow embedding of a higher-order separation logic for a subset of Java in Coq. The tactics make it possible to reason at a level of abstraction similar to pen-and-paper separation-logic proof outlines. In particular, the tactics allow the user to reason in the embedded logic rather than in the concrete model, where the stacks and heaps are exposed. The development is generic in the choice of heap model, and most of the development is also independent of the choice of programming language
Recommended from our members
Farmers' bulletin (United States. Dept. of Agriculture)
Describes the best climate, soils, and irrigation systems for producing rice successfully in the southern United States