A rule format for unit elements
2010, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
https://doi.org/10.1007/978-3-642-11266-9_12…
25 pages
1 file
Sign up for access to the world's latest research
Abstract
AI
AI
The paper presents a rule format for unit elements in programming and specification languages, exploring its operational semantics and applications. It emphasizes the use of inference rules inspired by logical frameworks to define semantics for various binary operations, ensuring that certain properties, such as mimicking behavior of programs, are syntactically maintained. The study also extends this rule format to address examples that highlight the significance of zero elements for validating equations in operational contexts.
Related papers
Electronic Proceedings in Theoretical Computer Science
Many universities have courses and projects revolving around compiler or interpreter implementation as part of their degree programmes in computer science. In such teaching activities, tool support can be highly beneficial. While there are already several tools for assisting with development of the front end of compilers, tool support tapers off towards the back end, or requires more background experience than is expected of undergraduate students. Structural operational semantics is a useful and mathematically simple formalism for specifying the behaviour of programs and a specification lends itself well to implementation; in particular bigstep or natural semantics is often a useful and simple approach. However, many students struggle with learning the notation and often come up with ill-defined and meaningless attempts at defining a structural operational semantics. A survey shows that students working on programming language projects feel that tool support is lacking and would be useful. Many of these problems encountered when developing a semantic definition are similar to problems encountered in programming, in particular ones that are essentially the result of type errors. We present a pedagogical metalanguage based on natural semantics, and its implementation, as an attempt to marry two notions: a syntax similar to textbook notation for natural semantics on the one hand, and automatic verification of some correctness properties on the other by means of a strong type discipline. The metalanguage and the tool provide the facilities for writing and executing specifications as a form of programming. The user can check that the specification is not meaningless as well as execute programs, if the specification makes sense.
This note clarifies the concept of syntax and semantics and their relationships. Today, a lot of confusion arises from the fact that the word "semantics" is used in different meanings. We discuss a general approach at defining semantics that is feasible for both textual and diagrammatic notations and discuss this approach using an example formalization. The formalization of hierarchical Mealy automata and their semantics definition using input/output behaviors allows us to define a specification, as well as an implementation semantics. Finally, a classification of different approaches that fit in this framework is given. This classification may also serve as guideline when defining a semantics for a new language.
1981
Sufficient conditions are givers for partial correctness assertions to determine the input-output semantics of quite general classes of programming languages. This determination cannot be unique unless states which are indistinguishable by predicates in the assertions are identified. Even when indistinguishable states are identified, partial correctness assertions may not suffice to determine program semantics.
In this paper a uniform formalization in PVS of various kinds of semantics of imperative programming language constructs is presented. Based on a comprehensive development of xed point theory, the denotational semantics of elementary constructs of imperative programming languages are de ned as state transformers. These state transformers induce corresponding predicate transformers, providing a means to formally derive both a weakest liberal precondition semantics and an axiomatic semantics in the style of Hoare. Moreover, algebraic laws as used in re nement calculus proofs are validated at the level of predicate transformers. Simple reformulations of the state transformer semantics yield both a continuation-style semantics and rules similar to those used in Structural Operational Semantics. This formalization provides the foundations on which formal speci cation of programming languages and mechanical veri cation of compilation steps are carried out within the Veri x project. This research has been funded in part by the Deutsche Forschungsgemeinschaft (DFG) under project \Veri x "
Mathematical Foundations of Programming Semantics, 1994
In this paper we consider a family of languages (USWIM) which is based on Landin's ISWIM (the individual languages being determined by appropriate continuous algebras of data objects and operations on these objects). We give a simple mathematical semantics for USWIM, and also give a system of program manipulation rules and a system of inference rules for reasoning about USWIM programs, the latter using a system of "program annotation" which allows inner, local environments to be discussed. USWIM is the basis on which Structured Lucid is built. The commonplace expressions of arithmetic and algebra have a certain simplicity that most communications to computers look.
Mathematical Foundations of Programming Semantics, 1992
Science of Computer Programming, 1989
This paper relates an experiment in writing an algebraic specification of a rather complex example, namely a subset of the UNIX' file system. The PLUSS specification language, which is used for this experiment, provides a set of linguistic features which allow the modularization of such specifications and the definition of a flexible and convenient syntax for expressions and axioms (such as mixtix operators, overloading, coercions). This experiment was a way for evaluating the adequacy of these features to several criteria: mainly legibility and understandability, but also reusability of specifications. The paper presents the specification and discusses it with respect to these important points. * This work is partially supported by ESPRIT project No. 432 METEOR and CNRS GRECO de Programmation. ' UNIX is a trademark of Bell Laboratories.

Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
References (2)
- the paper A Rule Format for Unit Elements by Anna Ingolfsdottir, MohammadReza Mousavi, Michel Reniers and yours truly! (To appear in the Proceedings of SOFSEM 2010, Springer-Verlag, 2010.)
- Read the survey Algebraic Properties for Free! by Anna Ingolfsdottir, MohammadReza Mousavi, Michel Reniers and yours truly! Concurrency Column, Bulletin of the EATCS, volume 99, pp. 81-104, October 2009.