Download Algebraic Semantics of Imperative Programs by Joseph A. Goguen, Grant Malcolm PDF

By Joseph A. Goguen, Grant Malcolm

Algebraic Semantics of principal courses provides a self-contained and novel "executable" creation to formal reasoning approximately relevant courses. The authors' fundamental aim is to enhance programming skill by means of enhancing instinct approximately what courses suggest and the way they run.The semantics of crucial courses is laid out in a proper, carried out notation, the language OBJ; this makes the semantics hugely rigorous but uncomplicated, and offers help for the mechanical verification of application properties.OBJ used to be designed for algebraic semantics; its declarations introduce symbols for types and services, its statements are equations, and its computations are equational proofs. therefore, an OBJ "program" is an equational idea, and each OBJ computation proves a few theorem approximately any such concept. which means an OBJ application used for outlining the semantics of a software already has an exact mathematical that means. in addition, commonplace recommendations for mechanizing equational reasoning can be utilized for verifying axioms that describe the impact of relevant courses on summary machines. those axioms can then be utilized in mechanical proofs of houses of programs.Intended for complex undergraduates or starting graduate scholars, Algebraic Semantics of crucial courses comprises many examples and routines in software verification, all of which might be performed in OBJ.

Show description

Read or Download Algebraic Semantics of Imperative Programs PDF

Similar discrete mathematics books

Comprehensive Mathematics for Computer Scientists

  This two-volume textbook finished arithmetic for the operating machine Scientist is a self-contained entire presentation of arithmetic together with units, numbers, graphs, algebra, good judgment, grammars, machines, linear geometry, calculus, ODEs, and distinctive subject matters reminiscent of neural networks, Fourier thought, wavelets, numerical matters, information, different types, and manifolds.

Algebraic Semantics of Imperative Programs

Algebraic Semantics of critical courses offers a self-contained and novel "executable" creation to formal reasoning approximately relevant courses. The authors' fundamental aim is to enhance programming skill via bettering instinct approximately what courses suggest and the way they run. The semantics of critical courses is laid out in a proper, carried out notation, the language OBJ; this makes the semantics hugely rigorous but basic, and offers help for the mechanical verification of software houses.

Structured Matrices in Mathematics, Computer Science, and Engineering II

Many vital difficulties in technologies, arithmetic, and engineering could be diminished to matrix difficulties. furthermore, numerous purposes frequently introduce a distinct constitution into the corresponding matrices, in order that their entries should be defined through a undeniable compact formulation. vintage examples contain Toeplitz matrices, Hankel matrices, Vandermonde matrices, Cauchy matrices, decide matrices, Bezoutians, controllability and observability matrices, and others.

An Engineer’s Guide to Mathematica

An Engineers consultant to Mathematica allows the reader to achieve the abilities to create Mathematica nine courses that remedy quite a lot of engineering difficulties and that demonstrate the consequences with annotated pictures. This e-book can be utilized to profit Mathematica, as a significant other to engineering texts, and in addition as a reference for acquiring numerical and symbolic strategies to a variety of engineering issues.

Additional info for Algebraic Semantics of Imperative Programs

Example text

And the OBJ interpreter will ignore all u n t i l the end of the line. Although it is not necessary, in this book we also use *** to indicate the end of a comment , thus : text fo l low i n g *** *** this i s a comment *** Comments preceded by * **> are treated in a special way by the OBJ interpreter ; it will print such a c o m me nt onto the screen when it reads it . This is p articu­ larly useful w hen you w ant OBJ to process a file. Supp ose you have a file called nat l i s t . obj containing the module NATL I S T l above an d red head ( s 0 ) .

Is r arel y menti oned in the context of theorem proving . In using OBJ to prove 23 ( Th e o r em of Constants) Suppose we are given a s ig n a t u r e E , a set of E-equations that is c ano n i c al as a term rewritin g system , and a E-equa tion e of the fo rm ('VB) t l = t 2 . T h e n e is satisfied by all E-mo dels that sa t is fy E iff [t l hu2 = [t2h ;u2 ' Furthermore , even if E is not c anoni c al , e is satisfied by all E-models that s at is fy E if [t l h :U2 = [t2]�U2 ' 0 Theorem E 3 This is an as ye t unpublished theorem of Dr.

Es the integer value that S associates with X. , we can write S[[X]] instead of S [[ X JJ). We also require some means of changing the value that a store associates with a given variable, for this will be the effect of an assignment in our programming language. In order to illustrate the concepts involved, we assume here that the only form of assignment is the assignment of the value of one variable to another; in the following section we describe a more general and realistic form of assignment.

Download PDF sample

Rated 4.46 of 5 – based on 33 votes