Formal Semantics of Programming Languages An Introduction

ISBN-10: 0262731037

ISBN-13: 9780262731034

Edition: N/A

Authors: Glynn Winskel

List price: $60.00 Buy it from $29.64
This item qualifies for FREE shipping

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy

Description:

The Formal Semantics of Programming Languages provides the basic mathematical techniques necessary for those who are beginning a study of the semantics and logics of programming languages. These techniques will allow students to invent, formalize, and justify rules with which to reason about a variety of programming languages. Although the treatment is elementary, several of the topics covered are drawn from recent research, including the vital area of concurency. The book contains many exercises ranging from simple to miniprojects. Starting with basic set theory, structural operational semantics is introduced as a way to define the meaning of programming languages along with associated proof techniques. Denotational and axiomatic semantics are illustrated on a simple language of while-programs, and fall proofs are given of the equivalence of the operational and denotational semantics and soundness and relative completeness of the axiomatic semantics. A proof of Godel's incompleteness theorem, which emphasizes the impossibility of achieving a fully complete axiomatic semantics, is included. It is supported by an appendix providing an introduction to the theory of computability based on while-programs. Following a presentation of domain theory, the semantics and methods of proof for several functional languages are treated. The simplest language is that of recursion equations with both call-by-value and call-by-name evaluation. This work is extended to lan guages with higher and recursive types, including a treatment of the eager and lazy lambda-calculi. Throughout, the relationship between denotational and operational semantics is stressed, and the proofs of the correspondence between the operation and denotational semantics are provided. The treatment of recursive types - one of the more advanced parts of the book - relies on the use of information systems to represent domains. The book concludes with a chapter on parallel programming languages, accompanied by a discussion of methods for specifying and verifying nondeterministic and parallel programs.
Used Starting from $44.25
New Starting from $61.73
what's this?
Rush Rewards U
Members Receive:
coins
coins
You have reached 400 XP and carrot coins. That is the daily max!
Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
Italian Grammar Online content $4.95 $1.99
Add to cart
Study Briefs
Portuguese Grammar Online content $4.95 $1.99
Add to cart
Study Briefs
Spanish Grammar Online content $4.95 $1.99
Add to cart
Study Briefs
German Grammar Online content $4.95 $1.99
Customers also bought
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Book details

List price: $60.00
Publisher: MIT Press
Publication date: 2/5/1993
Binding: Paperback
Pages: 384
Size: 6.75" wide x 8.75" long x 0.75" tall
Weight: 1.320
Language: English

Series foreword
Preface
Basic set theory
Logical notation
Sets
Relations and functions
Introduction to operational semantics
IMP - a simple imperative language
The evaluation of arithmetic expressions
The evaluation of boolean expressions
The execution of commands
A simple proof
Alternative semantics
Some principles of induction
Mathematical induction
Structural induction
Well-founded induction
Induction on derivations
Definitions by induction
Inductive definitions
Rule induction
Special rule induction
Proof rules for operational semantics
Operators and their least fixed points
The denotational semantics of IMP
Motivation
Denotational semantics
Equivalence of the semantics
Complete partial orders and continuous functions
The Knaster-Tarski Theorem
The axiomatic semantics of IMP
The idea
The assertion language Assn
Semantics of assertions
Proof rules for partial correctness
Soundness
Using the Hoare rules - an example
Completeness of the Hoare rules
Godel's Incompleteness Theorem
Weakest preconditions and expressiveness
Proof of Godel's Theorem
Verification conditions
Predicate transformers
Introduction to domain theory
Basic definitions
Streams - an example
Constructions on cpo's
A metalanguage
Recursion equations
The language REC
Operational semantics of call-by-value
Denotational semantics of call-by-value
Equivalence of semantics for call-by-value
Operational semantics of call-by-name
Denotational semantics of call-by-name
Equivalence of semantics for call-by-name
Local declarations
Techniques for recursion
Bekie's Theorem
Fixed-point induction
Well-founded induction
Well-founded recursion
Languages with higher types
An eager language
Eager operational semantics
Eager denotational semantics
Agreement of eager semantics
A lazy language
Lazy operational semantics
Lazy denotational semantics
Agreement of lazy semantics
Fixed-point operators
Observations and full abstraction
Sums
Information systems
Recursive types
Information systems
Closed families and Scott predomains
A cpo of information systems
Constructions
Recursive types
An eager language
Eager operational semantics
Eager denotational semantics
Adequacy of eager semantics
The eager [lambda]-calculus
A lazy language
Lazy operational semantics
Lazy denotational semantics
Adequacy of lazy semantics
The lazy [lambda]-calculus
Nondeterminism and parallelism
Introduction
Guarded commands
Communicating processes
Milner's CCS
Pure CCS
A specification language
The modal [nu]-calculus
Local model checking
A: Incompleteness and undecidability
Bibliography
Index
×
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.

×