HOME > 상세정보

상세정보

The formal semantics of programming languages : an introduction

The formal semantics of programming languages : an introduction (13회 대출)

자료유형
단행본
개인저자
Winskel, G. (Glynn)
서명 / 저자사항
The formal semantics of programming languages : an introduction / Glynn Winskel.
발행사항
Cambridge, Mass. :   MIT Press ,   c1993.  
형태사항
xviii, 361 p. : ill. ; 24 cm.
총서사항
Foundations of computing.
ISBN
0262231697 (hc) 0262731037 (pb)
서지주기
Includes bibliographical references (p. [353]-356) and index.
일반주제명
Programming languages (Electronic computers) -- Semantics.
000 00912camuu2200265 a 4500
001 000000011217
005 20061218165755
008 920917s1993 maua b 001 0 eng
010 ▼a 92036718
020 ▼a 0262231697 (hc)
020 ▼a 0262731037 (pb)
040 ▼a DLC ▼c DLC ▼d DLC ▼d 211009
049 1 ▼l 111008667
050 0 0 ▼a QA76.7 ▼b .W555 1993
082 0 0 ▼a 005.13/1 ▼2 22
090 ▼a 005.131 ▼b W777f
100 1 ▼a Winskel, G. ▼q (Glynn)
245 1 4 ▼a The formal semantics of programming languages : ▼b an introduction / ▼c Glynn Winskel.
260 ▼a Cambridge, Mass. : ▼b MIT Press , ▼c c1993.
300 ▼a xviii, 361 p. : ▼b ill. ; ▼c 24 cm.
440 0 ▼a Foundations of computing.
504 ▼a Includes bibliographical references (p. [353]-356) and index.
650 0 ▼a Programming languages (Electronic computers) ▼x Semantics.
945 ▼a KINS

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(2층서고)/ 청구기호 005.131 W777f 등록번호 121136146 (6회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 학술정보관(CDL)/B1 국제기구자료실(보존서고8)/ 청구기호 005.131 W777f 등록번호 111008667 (7회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(2층서고)/ 청구기호 005.131 W777f 등록번호 121136146 (6회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 학술정보관(CDL)/B1 국제기구자료실(보존서고8)/ 청구기호 005.131 W777f 등록번호 111008667 (7회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

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.


정보제공 : Aladin

목차


CONTENTS
Series foreword = xiii
Preface = xv
1 Basic set theory = 1
  1.1 Logical notation = 1
  1.2 Sets = 2
    1.2.1 Sets and properties = 3
    1.2.2 Some important sets = 3
    1.2.3 Constructions on sets = 4
    1.2.4 The axiom of foundation = 6
  1.3 Relations and functions = 6
    1.3.1 Lambda notation = 7
    1.3.2 Composing relations and functions = 7
    1.3.3 Direct and inverse image of a relation = 9
    1.3.4 Equivalence relations = 9
  1.4 Further reading = 10
2 Introduction to operational semantics = 11
  2.1 IMP ―a simple imperative language = 11
  2.2 The evaluation of arithmetic expressions = 13
  2.3 The evaluation of boolean expressions = 17
  2.4 The execution of commands = 19
  2.5 A simple proof = 20
  2.6 Alternative semantics = 24
  2.7 Further reading = 26
3 Some principles of induction = 27
  3.1 Mathematical induction = 27
  3.2 Structural induction = 28
  3.3 Well-founded induction = 31
  3.4 Induction on derivations = 35
  3.5 Definitions by induction = 39
  3.6 Further reading = 40
4 Inductive definitions = 41
  4.1 Rule induction = 41
  4.2 Special rule induction = 44
  4.3 Proof rules for operational semantics = 45
    4.3.1 Rule induction for arithmetic expressions = 45
    4.3.2 Rule induction for boolean expressions = 46
    4.3.3 Rule induction for commands = 47
  4.4 Operators and their least fixed points = 52
  4.5 Further reading = 54
5 The denotational semantics of IMP = 55
  5.1 Motivation = 55
  5.2 Denotational semantics = 56
  5.3 Equivalence of the semantic = 61
  5.4 Complete partial order and continuous functions = 68
  5.5 The Knaster-Theorem = 74
  5.6 Further reading = 75
6 The axiomatic semantics of IMP = 77
  6.1 The idea = 77
  6.2 The assertion language Assn = 80
    6.2.1 Free and bound variables = 81
    6.2.2 Substitution = 82
  6.3 Semantics of assertions = 84
  6.4 Proof rules for partial correctness = 89
  6.5 Soundness = 91
  6.6 Using the Hoare rules―an example = 93
  6.7 Further reading = 96
7 Completeness of the Hoare rules = 99
  7.1 G o ·· del's Incompleteness Theorem = 99
  7.2 Weakest preconditions and expressiveness = 100
  7.3 Proof of G o ·· del's Theorem = 110
  7.4 Verification conditions = 112
  7.5 Predicate transformers = 115
  7.6 Further reading = 117
8 Introduction to domain theory = 119
  8.1 Basic definitions = 119
  8.2 Streams ―an example = 121
  8.3 Constructions on cpo's = 123
    8.3.1 Discrete cpo's = 124
    8.3.2 Finite products = 125
    8.3.3 Function space = 128
    8.3.4 Lifting = 131
    8.3.5 Sums = 133
  8.4 A metalanguage = 135
  8.5 Further reading = 139
9 Recursion equations = 141
  9.1 The language REC = 141
  9.2 Operational semantics of call-by-value = 143
  9.3 Denotational semantics of call-by-value = 144
  9.4 Equivalence of semantics for call-by-value = 149
  9.5 Operational semantics of call-by-name = 153
  9.6 Denotational semantics of call-by-name = 154
  9.7 Equivalence of semantics for call-by-name = 157
  9.8 Local declarations = 161
  9.9 Further reading = 162
10 Techniques for recursion = 163
  10.1 Bekic's Theorem = 163
  10.2 Fixed-point induction = 166
  10.3 Well-founded induction = 174
  10.4 Well-founded induction = 176
  10.5 An exercise = 179
  10.6 Further reading = 181
11 Languages with higher types = 183
  11.1 An eager language = 183
  11.2 Eager operational semantics = 186
  11.3 Eager denotational semantics = 188
  11.4 Agreement of eager semantics = 190
  11.5 A lazy language = 200
  11.6 Lazy operational semantics = 201
  11.7 Lazy denotational semantics = 203
  11.8 Agreements of lazy semantics = 204
  11.9 Fixed-point operators = 209
  11.10 Observations and full abstraction = 215
  11.11 Sums = 219
  11.12 Further reading = 221
12 Information systems = 223
  12.1 Recursive types = 223
  12.2 Information systems = 225
  12.3 Closed families and Scott predomains = 228
  12.4 A cpo of information systems = 233
  12.5 Constructions = 236
    12.5.1 Lifting = 237
    12.5.2 Sums = 239
    12.5.3 Product = 241
    12.5.4 Lifted function space 243
  12.6 Further reading = 249
13 Recursive types = 251
  13.1 An eager language = 251
  13.2 Eager operational semantics = 255
  13.3 Eager denotational semantics = 257
  13.4 Adequacy of eager semantics = 262
  13.5 The eager λ-calculus = 267
  13.6 A lazy language = 278
  13.7 Lazy operational semantics = 278
  13.8 Lazy denotational semantics = 281
  13.9 Adequacy of lazy semantics = 288
  13.10 The lazy λ-calculus = 290
    13.10.1 Equational theory = 291
    13.10.2 A fixed-point operator = 292
  13.11 Further reading = 295
14 Nondeterminism and parallelism = 297
  14.1 Introduction = 297
  14.2 Guarded commands = 298
  14.3 Communication processes = 303
  14.4 Milner's CCS = 308
  14.5 Pure CCS = 311
  14.6 A specification language = 316
  14.7 The modal ν- calculus = 321
  14.8 Local modal checking = 327
  14.9 Further reading = 335
A Incompleteness and undecidability = 337
Bibliography = 353
Index = 357

관련분야 신착자료

Harvard Business Review (2025)