Results 1 
3 of
3
Reasoning about pointers in refinement calculus
 In 10th AsiaPacific Software Engineering Conference (APSEC'03
, 2003
"... Pointers are an important programming concept. They are used explicitely or implicitly in many programming languages. In particular, the semantics of objectoriented programming languages rely on pointers. We introduce a semantics for pointer structures. Pointers are seen as indexes and pointer fiel ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
(Show Context)
Pointers are an important programming concept. They are used explicitely or implicitly in many programming languages. In particular, the semantics of objectoriented programming languages rely on pointers. We introduce a semantics for pointer structures. Pointers are seen as indexes and pointer fields are functions from these indexes to values. Using this semantics we turn all pointer operations into simple assignments and then we use refinement calculus techniques to construct a pointermanipulating program that checks whether or not a single linked list has a loop. We also introduce an induction principle on pointer structures in order to reduce complexity of the proofs. 1.
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
(Show Context)
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
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