By Joseph A. Goguen, Grant Malcolm
Algebraic Semantics of vital courses provides a self-contained and novel "executable" advent to formal reasoning approximately valuable courses. The authors' fundamental aim is to enhance programming skill by means of 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 easy, and gives aid for the mechanical verification of software properties.OBJ used to be designed for algebraic semantics; its declarations introduce symbols for varieties and services, its statements are equations, and its computations are equational proofs. therefore, an OBJ "program" is an equational thought, and each OBJ computation proves a few theorem approximately the sort of idea. which means an OBJ software used for outlining the semantics of a application already has an actual mathematical which means. additionally, regular suggestions 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 valuable courses includes many examples and routines in application verification, all of that are performed in OBJ.
Read or Download Algebraic Semantics of Imperative Programs PDF
Similar discrete mathematics books
The layout and implementation of the Maple process is an on-going undertaking of the Symbolic Com putation staff on the collage of Waterloo in Ontario, Canada. This guide corresponds with model V (roman numeral 5) of the Maple process. The online support subsystem might be invoked from inside a Maple consultation to view documentation on particular subject matters.
This e-book takes readers via all of the steps valuable for fixing tough difficulties in continuum mechanics with gentle particle tools. Pedagogical difficulties make clear the iteration of preliminary stipulations, the remedy of boundary stipulations, the combination of the equations of movement, and the research of the consequences.
- Mathematica by Example
- Discrete Mathematics and Its Applications
- Schaum's outline of theory and problems of Boolean algebra and switching circuits
- Applications Of Multi-Objective Evolutionary Algorithms (Advances in Natural Computation)
Extra resources for Algebraic Semantics of Imperative Programs
Where 3 and Definition 14 An e qu a t i on o f the form (\1'3) t = t' ( w i t h t , t' E (TE U 3)8 for some is called a rewrite rule iff the set of variables that occur in t ' is a subset of those that o c c u r in t . In t h e order sorted case , we also requ i r e that the least sort of the l eft side of the r ule is greater than or equal to the least sort of its r i ght side; i . e . , we require that rewrite rules are sort decre a s i ng . A fin i t e set of rewrite rules over a s ign ature I; is called a ( �> )term rewriting system , s o met i m es abbreviated sort s) TRS .
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 ) .
Var L : List var N : Nat . eq head ( N L ) = N eq t a i l ( N L ) = L . endo __ The reduction red 0 nil s 0 nil s s s O . nd O B J 35 red head ( O s 0 s s s 0 ) ***> should be : 0 red tail ( O s 0 s s s 0 ) * * * > should be : s 0 s s s 0 red tail ( nil 0 s 0 nil s s s 0 ) . ***> should b e : s 0 s S 5 0 . Notice that NATL I S T l does not include the equations eq head ( N ) eq t ail ( N ) from = = t he mo dule N . nil NATLIST, because they are not neede d ! By matching mo dulo identity, they are actually sp ecial cases of the equations eq head ( N L ) eq tail e R L ) = I = L in the module IATL IST !
Algebraic Semantics of Imperative Programs by Joseph A. Goguen, Grant Malcolm