Program algebra for sequential code

@article{Bergstra2002ProgramAF,
  title={Program algebra for sequential code},
  author={J. Bergstra and M. Loots},
  journal={J. Log. Algebraic Methods Program.},
  year={2002},
  volume={51},
  pages={125-156}
}
Abstract The jump instruction is considered essential for an adequate theoretical understanding of imperative sequential programming. Using basic instructions and tests as a basis we outline an algebra of programs, denoted PGA, which captures the crux of sequential programming. We single out a behavior extraction operator which assigns to each program a behavior. The meaning of the expressions of PGA is explained in terms of the extracted behavior. Using PGA a small hierarchy of program… Expand
Program Algebra with Repeat Instruction
In the setting of program algebra (PGA) we consider the repeat instruction. This special instruction is designed to represent innite sequences of instructions as nite, linear programs. The resultingExpand
A Hoare-Like Logic of Asserted Single-Pass Instruction Sequences
We present a formal system for proving the partial correctness of a single-pass instruction sequence as considered in program algebra by decomposition into proofs of the partial correctness ofExpand
A Hoare-Like Logic of Asserted Single-Pass Instruction Sequences
TLDR
A formal system for proving the partial correctness of a single-pass instruction sequence as considered in program algebra by decomposition is presented, similar to Hoare logics, but takes into account that, by the presence of jump instructions, segments of single- pass instruction sequences may have multiple entry points and multiple exit points. Expand
An Introduction to Program and Thread Algebra
We provide an introduction to Program Algebra (PGA, an algebraic approach to the modeling of sequential programming) and to Thread Algebra (TA). PGA is used as a basis for several low- andExpand
An Instruction Sequence Semigroup with Repeaters
TLDR
It is shown that a kernel of this syntax can replace PGA as a carrier for program algebra by providing axioms for defining single-pass congruence and structural Congruence, and equations for thread extraction. Expand
Se p 20 08 Mechanistic Behavior of Single-Pass Instruction Sequences
Earlier work on program and thread algebra detailed the functional, observable behavior of programs under execution. In this article we add the modeling of unobservable, mechanistic processing, inExpand
Linear Projective Program Syntax
Based on an extremely simple program notation more advanced program features can be developed in linear projective program syntax such as conditional statements, while loops, recursion, use of an Expand
Mechanistic Behavior of Single-Pass Instruction Sequences
TLDR
This article model mechanistic processing preceding some further behavior as a delay of that behavior, and borrows a unary delay operator from discrete time process algebra to define a mechanistic improvement ordering on threads. Expand
Program algebra with unit instruction operators
  • A. Ponse
  • Mathematics, Computer Science
  • J. Log. Algebraic Methods Program.
  • 2002
In the setting of program algebra (PGA), a projection from PGAu, i.e., PGA extended with a unit instruction operator, into PGA is defined. This is done via a composition that employs backward jumpsExpand
A short introduction to program algebra with instructions for Boolean registers
TLDR
A simplified presentation of the most general such instantiated theory of parameterized algebraic theory of instruction sequences, in which the basic instructions are instructions to read out and alter the content of Boolean registers and the components of the execution environment are Boolean registers. Expand
...
1
2
3
4
5
...

References

SHOWING 1-5 OF 5 REFERENCES
Program Algebra for Component Code
TLDR
An algebra of programs, denoted PGA, is outlined, which captures the crux of sequential programming and provides an ontology for programs rather than a semantics. Expand
Laws of programming
TLDR
A calculus analogous to weakest preconditions is suggested as an aid to deriving programs from their specifications as well as a set of algebraic laws for Dijkstra's nondeterministic sequential programming language. Expand
Axiomatizations for the Perpetual Loop in Process Algebra
TLDR
This paper shows that Milner's axioms are adapted to no-exit iteration x w, and it is shown that this axiomatization is complete for no- exit iteration in basic process algebra with deadlock and empty process, modulo bisimulation. Expand
Process Algebra for Synchronous Communication
TLDR
Within the context of an algebraic theory of processes, an equational specification of process cooperation is provided and some relationships are shown to hold between the four concepts of merging. Expand
He Jifeng
  • C.C. Morgan, A.W. Roscoe, J.W. Sanders, I.H. Sorensen, J.M. Spivey, B.A. Sufrin, Laws of programming, Commun. ACM 30 (8)
  • 1987