Cover image for Mathematical logic for computer science
Title:
Mathematical logic for computer science
Personal Author:
Edition:
2rd ed.
Publication Information:
Berlin : Springer, 2003
Physical Description:
xiv, 304 p. : ill. ; 24 cm.
ISBN:
9781852333195

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010194979 QA9 B364 2003 Open Access Book Book
Searching...

On Order

Summary

Summary

This is a mathematics textbook with theorems and proofs. The choice of topics has been guided by the needs of computer science students. The method of semantic tableaux provides an elegant way to teach logic that is both theoretically sound and yet sufficiently elementary for undergraduates. In order to provide a balanced treatment of logic, tableaux are related to deductive proof systems. The book presents various logical systems and contains exercises. Still further, Prolog source code is available on an accompanying Web site. The author is an Associate Professor at the Department of Science Teaching, Weizmann Institute of Science.


Author Notes

Mordechai Ben-Ari is Associate Professor at the Department of Science Teaching of the Weizmann Institute of Science.


Table of Contents

Prefacep. vii
1 Introductionp. 1
1.1 The origins of mathematical logicp. 1
1.2 Propositional calculusp. 2
1.3 Predicate calculusp. 3
1.4 Theorem proving and logic programmingp. 5
1.5 Systems of logicp. 6
1.6 Exercisep. 7
2 Propositional Calculus: Formulas, Models, Tableauxp. 9
2.1 Boolean operatorsp. 9
2.2 Propositional formulasp. 12
2.3 Interpretationsp. 17
2.4 Logical equivalence and substitutionp. 19
2.5 Satisfiability, validity and consequencep. 24
2.6 Semantic tableauxp. 29
2.7 Soundness and completenessp. 33
2.8 Implementation[superscript P]p. 38
2.9 Exercisesp. 40
3 Propositional Calculus: Deductive Systemsp. 43
3.1 Deductive proofsp. 43
3.2 The Gentzen system Gp. 45
3.3 The Hilbert system Hp. 48
3.4 Soundness and completeness of Hp. 56
3.5 A proof checker[superscript P]p. 59
3.6 Variant forms of the deductive systemsp. 60
3.7 Exercisesp. 64
4 Propositional Calculus: Resolution and BDDsp. 67
4.1 Resolutionp. 67
4.2 Binary decision diagrams (BDDs)p. 81
4.3 Algorithms on BDDsp. 88
4.4 Complexityp. 95
4.5 Exercisesp. 99
5 Predicate Calculus: Formulas, Models, Tableauxp. 101
5.1 Relations and predicatesp. 101
5.2 Predicate formulasp. 102
5.3 Interpretationsp. 105
5.4 Logical equivalence and substitutionp. 107
5.5 Semantic tableauxp. 109
5.6 Implementation[superscript P]p. 118
5.7 Finite and infinite modelsp. 120
5.8 Decidabilityp. 121
5.9 Exercisesp. 125
6 Predicate Calculus: Deductive Systemsp. 127
6.1 The Gentzen system Gp. 127
6.2 The Hilbert system Hp. 129
6.3 Implementation[superscript P]p. 134
6.4 Complete and decidable theoriesp. 135
6.5 Exercisesp. 138
7 Predicate Calculus: Resolutionp. 139
7.1 Functions and termsp. 139
7.2 Clausal formp. 142
7.3 Herbrand modelsp. 148
7.4 Herbrand's Theoremp. 150
7.5 Ground resolutionp. 152
7.6 Substitutionp. 153
7.7 Unificationp. 155
7.8 General resolutionp. 164
7.9 Exercisesp. 171
8 Logic Programmingp. 173
8.1 Formulas as programsp. 173
8.2 SLD-resolutionp. 176
8.3 Prologp. 181
8.4 Concurrent logic programmingp. 186
8.5 Constraint logic programmingp. 194
8.6 Exercisesp. 199
9 Programs: Semantics and Verificationp. 201
9.1 Introductionp. 201
9.2 Semantics of programming languagesp. 202
9.3 The deductive system HLp. 209
9.4 Program verificationp. 211
9.5 Program synthesisp. 213
9.6 Soundness and completeness of HLp. 216
9.7 Exercisesp. 219
10 Programs: Formal Specification with Zp. 221
10.1 Case study: a traffic signalp. 221
10.2 The Z notationp. 224
10.3 Case study: semantic tableauxp. 230
10.4 Exercisesp. 234
11 Temporal Logic: Formulas, Models, Tableauxp. 235
11.1 Introductionp. 235
11.2 Syntax and semanticsp. 236
11.3 Models of timep. 239
11.4 Semantic tableauxp. 242
11.5 Implementation of semantic tableaux[superscript P]p. 252
11.6 Exercisesp. 255
12 Temporal Logic: Deduction and Applicationsp. 257
12.1 The deductive system Lp. 257
12.2 Soundness and completeness of Lp. 262
12.3 Other temporal logicsp. 264
12.4 Specification and verification of programsp. 266
12.5 Model checkingp. 272
12.6 Exercisesp. 280
A Set Theoryp. 283
A.1 Finite and infinite setsp. 283
A.2 Set operatorsp. 284
A.3 Ordered setsp. 286
A.4 Relations and functionsp. 287
A.5 Cardinalityp. 288
A.6 Proving properties of setsp. 289
B Further Readingp. 291
Bibliographyp. 293
Index of Symbolsp. 297
Indexp. 299