did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780387237596

Adapting Proofs-As-Programs

by ; ;
  • ISBN13:

    9780387237596

  • ISBN10:

    0387237593

  • Format: Hardcover
  • Copyright: 2005-03-01
  • Publisher: Springer-Verlag New York Inc

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $199.00 Save up to $145.34
  • Buy Used
    $149.25
    Add to Cart Free Shipping Icon Free Shipping

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Supplemental Materials

What is included with this book?

Summary

This monograph details several important advances in the area known as the proofs-as-programs paradigm, a set of approaches to developing programs from proofs in constructive logic. It serves the dual purpose of providing a state-of-the-art overview of the field and detailing tools and techniques to stimulate further research.One of the book's central themes is a general, abstract framework for developing new systems of program synthesis by adapting proofs-as-programs to new contexts, which the authors call the Curry--Howard Protocol. This protocol is used to provide two novel applications for industrial-scale, complex software engineering: contractual imperative program synthesis and structured software synthesis. These applications constitute an exemplary justification for the applicability of the protocol to different contexts.The book is intended for graduate students in computer science or mathematics who wish to extend their background in logic and type theory as well as gain experience working with logical frameworks and practical proof systems. In addition, the proofs-as-programs research community, and the wider computational logic, formal methods and software engineering communities will benefit. The applications given in the book should be of interest for researchers working in the target problem domains.

Table of Contents

Preface v
Overview vii
Part I Prologue
1 Introduction
3(22)
1.1 Proofs-as-programs
4(6)
1.2 Generalizing constructive synthesis
10(1)
1.3 Imperative programs
11(5)
1.4 Structured specifications and programs
16(3)
1.5 Overview
19(6)
Part II Generalizing Proofs-as-Programs
2 Functional Program Synthesis
25(52)
2.1 Abstract data types
27(3)
2.2 Intuitionistic logic
30(6)
2.3 Logical Type Theory
36(6)
2.4 Programs in SML
42(2)
2.5 Program synthesis
44(27)
2.6 Example: Password checking system
71(3)
2.7 Discussion
74(3)
3 The Curry-Howard Protocol
77(16)
3.1 From ontology to protocol
77(3)
3.2 Formalizing the ontology
80(7)
3.3 Using the protocol
87(1)
3.4 Discussion
88(5)
Part III Imperative Proofs-as-Programs
III Overview
93(124)
4 Intuitionistic Hoare Logic
95(40)
4.1 Signatures
97(3)
4.2 A subset of SML
100(5)
4.3 Semantics of SML
105(6)
4.4 Formulae
111(6)
4.5 Calculus
117(10)
4.6 Comparison to Hoare logic with triples and its extensions
127(7)
4.7 Discussion
134(1)
5 Properties of Intuitionistic Hoare Logic
135(30)
5.1 Model theoretic properties
136(12)
5.2 Proof-theory of Intuitionistic Hoare Logic
148(10)
5.3 Example: Electronic Banking System
158(6)
5.4 Discussion
164(1)
6 Proofs-as-Imperative-Programs
165(52)
6.1 Realizability
168(4)
6.2 Extraction
172(27)
6.3 The Curry- Howard protocol for program synthesis
199(2)
6.4 Example: electronic banking system
201(3)
6.5 Example: synthesis of contracts
204(8)
6.6 Discussion
212(5)
Part IV Structured Proofs-as-Programs
7 Reasoning about Structured Specifications
217(36)
7.1 Specifications
219(10)
7.2 Structured specifications
229(7)
7.3 Reasoning about CASL specifications
236(11)
7.4 Soundness
247(4)
7.5 Discussion
251(2)
8 Proof-theoretic Properties of SSL
253(44)
8.1 A type theory for SSL
254(10)
8.2 Normalization and proof-term reduction
264(20)
8.3 The Church-Rosser Property
284(11)
8.4 Discussion
295(2)
9 Structured Proofs-as-Programs
297(44)
9.1 Specifying and reasoning about SML programs
298(7)
9.2 Realizability
305(4)
9.3 Extracting modular realizers
309(19)
9.4 Extracting extended realizers
328(6)
9.5 Example: password checking system
334(4)
9.6 The Curry-Howard protocol for program synthesis
338(1)
9.7 Discussion
339(2)
10 Generic Specifications
341(26)
10.1 Generic and instantiated specifications
342(6)
10.2 Extensions to logical calculus
348(4)
10.3 Extensions to the logical type theory
352(6)
10.4 Structured proofs-as-programs revisited
358(4)
10.5 Example: warehouse specification
362(2)
10.6 Discussion
364(3)
11 Structured Program Synthesis
367(26)
11.1 Structured programs
369(7)
11.2 Reasoning about structured programs
376(4)
11.3 Using extraction to obtain executable refinements
380(8)
11.4 Discussion
388(5)
Part V Epilogue
12 Conclusions: Toward Constructive Logic as a Practical 4GL
393(6)
Part VI Appendix
A Constructive Logic
399(8)
A.1 Constructive logic
399(4)
A.2 Constructive type theories
403(4)
References 407(10)
Index 417

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program