By Joseph A. Goguen, Grant Malcolm

Algebraic Semantics of relevant courses provides a self-contained and novel "executable" creation to formal reasoning approximately primary courses. The authors' fundamental objective is to enhance programming skill via enhancing instinct approximately what courses suggest and the way they run.The semantics of important 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 application properties.OBJ was once designed for algebraic semantics; its declarations introduce symbols for kinds and services, its statements are equations, and its computations are equational proofs. hence, an OBJ "program" is an equational concept, and each OBJ computation proves a few theorem approximately this kind of idea. which means an OBJ application used for outlining the semantics of a software already has an actual mathematical which means. furthermore, regular ideas for mechanizing equational reasoning can be utilized for verifying axioms that describe the impact of crucial courses on summary machines. those axioms can then be utilized in mechanical proofs of homes of programs.Intended for complicated undergraduates or starting graduate scholars, Algebraic Semantics of crucial courses comprises many examples and routines in software verification, all of which are performed in OBJ.

**Read Online or Download Algebraic Semantics of Imperative Programs PDF**

**Similar discrete mathematics books**

**Complexity: Knots, Colourings and Countings**

In line with lectures on the complex learn Institute of Discrete utilized arithmetic in June 1991, those notes hyperlink algorithmic difficulties coming up in knot concept, statistical physics and classical combinatorics for researchers in discrete arithmetic, desktop technological know-how and statistical physics.

**Mathematical programming and game theory for decision making**

This edited publication offers contemporary advancements and cutting-edge evaluation in quite a few components of mathematical programming and video game idea. it's a peer-reviewed learn monograph less than the ISI Platinum Jubilee sequence on Statistical technology and Interdisciplinary learn. This quantity presents a wide ranging view of conception and the purposes of the equipment of mathematical programming to difficulties in records, finance, video games and electric networks.

**Introduction to HOL: A Theorem-Proving Environment for Higher-Order Logic**

HOL is an evidence improvement process meant for functions to either and software program. it really is largely utilized in methods: for without delay proving theorems, and as theorem-proving aid for application-specific verification structures. HOL is at present being utilized to a large choice of difficulties, together with the specification and verification of severe platforms.

**Algebra und Diskrete Mathematik**

Band 1 Grundbegriffe der Mathematik, Algebraische Strukturen 1, Lineare Algebra und Analytische Geometrie, Numerische Algebra. Band 2 Lineare Optimierung, Graphen und Algorithmen, Algebraische Strukturen und Allgemeine Algebra mit Anwendungen

- Random Polymer Models
- A Tribute to Paul Erdos
- Discrete Mathematics for Computer Science
- Mesh enhancement

**Additional info for Algebraic Semantics of Imperative Programs**

**Example text**

Vars X Y Z : L i s t var N : N at . e q X * nil = X . e q nil * X = X . e q ( X * y) * Z = X * ( Y * Z) . eq head ( N * X) = N . Copyrighted Material Chapter 1 28 eq t ail ( N * X) ::: X N . eq head N nil . eq t ail N endo . Thus, two typical lists are the following: (0 * 0 )* s 0 ( ( s O ) * ( s s 0) ) * s s 0 Note the need for parentheses in these expressions, despite the presence of the asso ciative law as an equation. We can avoid this awkwardness with suitable precedence declarations . Let us now consider lists of natural numbers using so-called error supersoris: obj NATLISTE is s ort s Nat List EL ist .

Binary infix operations can be declared commu t ative with the att ribu te comm, which is semanti cally a commutativity axiom , but is implemented by rewriting modulo commutativity. Notice that a commut ative equ ation would give rise to non-term in a t ing computations , such as a + b => b + a => a + b => . . A n operation can h ave b oth of the attributes as s o c and but associa comm, tive/commutative matching is an N P-complete problem , so that a really efficient implementation is impossible .

Op skip : - > Subst op _ : = _ : Id Exp - > Subst op _ ; _ : Subst Subst - > Subst [as s o c op _ [ [_J J : Sub s t Exp -> Exp vars . . e q (S ; X : = E ) [ [XJ J = . , . a id : term. The following sk ip] . endo Complete the definition of the module by ample, the fo llo w i n g equation holds : adding Copyrighted Material equations so that , for ex Chapter 1 48 vars E E1 E2 : Exp . eq ( 'X : = E 1, ; , Y : = = E2 ) [ [E] ] s ub s t ( E 1 , ' X , subst ( E2 , ' Y , E » su bstitu tes first according s 1 ; s2 In general , a subst i t ution of the form to s2 and then ac c o r d in g to s 1 .