Results 1  10
of
11
On Role Logic
, 2003
"... We present role logic, a notation for describing properties of relational structures in shape analysis, databases, and knowledge bases. We construct role logic using the ideas of de Bruijn's notation for lambda calculus, an encoding of firstorder logic in lambda calculus, and a simple rule for ..."
Abstract

Cited by 13 (7 self)
 Add to MetaCart
(Show Context)
We present role logic, a notation for describing properties of relational structures in shape analysis, databases, and knowledge bases. We construct role logic using the ideas of de Bruijn's notation for lambda calculus, an encoding of firstorder logic in lambda calculus, and a simple rule for implicit arguments of unary and binary predicates.
Blaming the Client: On Data Refinement in the Presence of Pointers
 TO APPEAR IN FORMAL ASPECTS OF COMPUTING
"... Data refinement is a common approach to reasoning about programs, based on establishing that a concrete program indeed satisfies all the required properties imposed by an intended abstract pattern. Reasoning about programs in this setting becomes complex when use of pointers is assumed and, moreove ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
Data refinement is a common approach to reasoning about programs, based on establishing that a concrete program indeed satisfies all the required properties imposed by an intended abstract pattern. Reasoning about programs in this setting becomes complex when use of pointers is assumed and, moreover, a wellknown method for proving data refinement, namely the forward simulation method, becomes unsound in presence of pointers. The reason for unsoundness is the failure of the “lifting theorem” for simulations: that a simulation between abstract and concrete modules can be lifted to all client programs. The result is that simulation does not imply that a concrete can replace an abstract module in all contexts. Our diagnosis of this problem is that unsoundness is due to interference from the client programs. Rather than blame a module for the unsoundness of lifting simulations, our analysis places the blame on the client programs which cause the interference: when interference is not present, soundness is recovered. Technically, we present a novel instrumented semantics which is capable of detecting interference between a module and its client. With use of special simulation relations, namely growing relations, and interpreting the simulation method using the instrumented semantics, we obtain a lifting theorem. We then show situations under which simulation does indeed imply refinement.
Pointers and records in the unifying theories of programming
 First International Symposium on Unifying Theories of Programming, volume 4010 of Lecture Notes in Computer Science
, 2006
"... All intext references underlined in blue are linked to publications on ResearchGate, letting you access and read them immediately. ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
All intext references underlined in blue are linked to publications on ResearchGate, letting you access and read them immediately.
Refinement of recursive procedures with parameters in PVS
, 2004
"... We present a shallow embedding in PVS of a predicate transformer semantics of an imperative language suitable for reasoning about recursive procedures with parameters and local variables. We use the PVS dependent type mechanism for implementing program variables of different types. We use an uninter ..."
Abstract
 Add to MetaCart
We present a shallow embedding in PVS of a predicate transformer semantics of an imperative language suitable for reasoning about recursive procedures with parameters and local variables. We use the PVS dependent type mechanism for implementing program variables of different types. We use an uninterpreted state space and define the program variables behavior by means of certain tree functions that are supposed to satisfy some axioms. Unlike in the implementations mentioned in the literature, we do not need to change the state space when adding local variables or procedure parameters. 1
Table of Contents
"... Abstract. We present a correctness proof for a basic file system implementation. This implementation contains key elements of standard Unix file systems such as inodes and fixedsize disk blocks. We prove the implementation correct by establishing a simulation relation between the map from file name ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. We present a correctness proof for a basic file system implementation. This implementation contains key elements of standard Unix file systems such as inodes and fixedsize disk blocks. We prove the implementation correct by establishing a simulation relation between the map from file names to sequences of bytes) and its implementation (which uses fixedsize disk blocks to store the contents of the files). We used the Athena proof checker to represent and validate our proof. Our experience indicates that Athena’s use of blockstructured natural deduction, support for structural induction and proof abstraction, and seamless connection with highperformance automated theorem provers were essential to our ability to successfully manage a proof of this size.
unknown title
"... Abstract We present role logic, a notation for describing properties of relational structures in shape analysis, databases, and knowledge bases. We construct role logic using the ideas of de Bruijn's notation for lambda calculus, an encoding of firstorder logic in lambda calculus, and a simple ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract We present role logic, a notation for describing properties of relational structures in shape analysis, databases, and knowledge bases. We construct role logic using the ideas of de Bruijn's notation for lambda calculus, an encoding of firstorder logic in lambda calculus, and a simple rule for implicit arguments of unary and binary predicates. The unrestricted version of role logic has the expressive power of firstorder logic with transitive closure. Using a syntactic restriction on role logic formulas, we identify a natural fragment RL2 of role logic. We show that the RL2 fragment has the same expressive power as twovariable logic with counting C2, and is therefore decidable.
Opponent
, 2014
"... A subshift is a set of infinite one or twoway sequences over a fixed finite set, defined by a set of forbidden patterns. In this thesis, we study subshifts in the topological setting, where the natural morphisms between them are ones defined by a (spatially uniform) local rule. Endomorphisms of su ..."
Abstract
 Add to MetaCart
(Show Context)
A subshift is a set of infinite one or twoway sequences over a fixed finite set, defined by a set of forbidden patterns. In this thesis, we study subshifts in the topological setting, where the natural morphisms between them are ones defined by a (spatially uniform) local rule. Endomorphisms of subshifts are called cellular automata, and we call the set of cellular automata on a subshift its endomorphism monoid. It is known that the set of all sequences (the full shift) allows cellular automata with complex dynamical and computational properties. We are interested in subshifts that do not support such cellular automata. In particular, we study countable subshifts, minimal subshifts and subshifts with additional universal algebraic structure that cellular automata need to respect, and investigate certain criteria of ‘simplicity ’ of the endomorphism monoid, for each of them. In the case of countable subshifts, we concentrate on countable sofic shifts, that is, countable subshifts defined by a finite state automaton. We
Software Technology A Framework for Automated and Certified Refinement Steps
, 2011
"... Centre of the United Nations University (UNU). It is based in Macao, and was founded in 1991. It started operations in July 1992. UNUIIST is jointly funded by the government of Macao and the governments of the People’s Republic of China and Portugal through a contribution to the UNU Endowment Fund. ..."
Abstract
 Add to MetaCart
(Show Context)
Centre of the United Nations University (UNU). It is based in Macao, and was founded in 1991. It started operations in July 1992. UNUIIST is jointly funded by the government of Macao and the governments of the People’s Republic of China and Portugal through a contribution to the UNU Endowment Fund. As well as providing twothirds of the endowment fund, the Macao authorities also supply UNUIIST with its office premises and furniture and subsidise fellow accommodation. The mission of UNUIIST is to assist developing countries in the application and development of software technology. UNUIIST contributes through its programmatic activities: 1. Advanced development projects, in which software techniques supported by tools are applied, 2. Research projects, in which new techniques for software development are investigated, 3. Curriculum development projects, in which courses of software technology for universities in developing countries are developed, 4. University development projects, which complement the curriculum development projects by aiming to strengthen all aspects of computer science teaching in universities in developing countries, 5. Schools and Courses, which typically teach advanced software development techniques, 6. Events, in which conferences and workshops are organised or supported by UNUIIST, and
Safe Modification of Pointer Programs in Refinement Calculus
"... Abstract. This paper discusses stepwise refinement of pointer programs in the framework of refinement calculus. We augment the underlying logic with formulas of separation logic and then introduce a pair of new predicate transformers, called separating assertion and separating assumption. The new ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. This paper discusses stepwise refinement of pointer programs in the framework of refinement calculus. We augment the underlying logic with formulas of separation logic and then introduce a pair of new predicate transformers, called separating assertion and separating assumption. The new predicate transformers are derived from separating conjunction and separating implication, which are fundamental logical connectives in separation logic. They represent primitive forms of heap allocation/deallocation operators and the basic pointer statements can be specified by means of them. We derive several refinement laws that are useful for stepwise refinement and demonstrate the use of the laws in the context of correctness preserving transformations that are intended for improved memory usage. The formal development is carried out in the framework of higherorder logic and is based on Back and Preoteasa’s axiomatization of state space and its extension to the heap storage [BP05, Pre06]. All the results have been implemented and verified in the theorem prover PVS. 1