kemin原创翻译,引用注明出处,谢谢。
Discrete Mathematics James L. Hein
Department of Computer Science
Portland State University
http://www.amazon.com/Discrete-Mathematics-James-L-Hein/dp/0763722103
This book is designed for an introductory course in discrete mathematics that serves a variety of majors, including mathematics, computer science, and engineering. The book is the outgrowth of a course at Portland State University that has evolved over 15 years from a course for upper-division students into a course for sophomores. The book can be read by anyone with a good background in high school mathematics. Therefore it could also be used at the freshman level or at the advanced high school level.
本书设计作为以下主修学科的离散数学的导论性教材:数学、计算机科学和工程学。因此适合离散数学的初学者和高中学生。
This book differs in several ways from current books about discrete mathematics.
本书与其它的离散数学教材相比有向点的不同:
It presents an elementary and unified introduction to a collection of topics that, up to now, have not been available in a single source.
本书论述的有关离散数学的主题是目前最全的。
A major feature of the book is the unification of the material so that it doesn't fragment into a vast collection of seemingly表面上 unrelated ideas. This is accomplished by organization and focus. The book is organized more along the lines of technique than on a subject-by-subject basis. The focus throughout the book is on the computation and construction of objects. Therefore many traditional topics are dispersed分散 throughout the text to places where they fit naturally with the techniques under discussion. For example, to read about properties of-and techniques for processing-natural numbers, lists, strings, graphs, or trees, it's necessary to look in the index or scan the table of contents to find the several places where they are found.
本书最大的特色就是对材料组织的统一性。把表面上看似与主题不相关的片断整合在一起。整合的方法是材料的专题组织。与一般的基于主题-主题的组织方法不同,本书顺着技术路线来组织内容的。本书还集中围绕着“计算”和“对象构造”两个概念来论述。所以很多传统内容分散到全书的不同部分中。比如要查阅有关自然数、列表、字串、图和树的相关内容(如图的性质及处理它的技术),你得通过索引或目录来定位它的内容散落在哪章哪节里。
The logic coverage is much more extensive than in current books at this level because of its fundamental importance in problem solving, programming, automatic reasoning systems, and logic programming languages. Logic is also dispersed throughout the text. For example, we introduce informal proof techniques in the first section of Chapter 1. Then we use informal logic without much comment until Chapter 4, where inductive proof techniques are presented. After the informal use of logic is well in hand, we move to the formal aspects of logic in Chapters 6 and 7, where equivalence proofs and inference-based proofs are introduced. Formal logic is applied to proving correctness properties of programs in Chapter 8. We introduce automatic reasoning and logic programming in Chapter 9.
本书对逻辑横盖的内容比同层次的图书要广泛得多。这是因为逻辑对于问题解决、编程、自动推理系统和逻辑编程是非常重要的原因。逻辑也分散到整本书中。比如,我们在第一部分就介绍了非形式证明技术,接着使用非形式逻辑论述议题,直到第四章才引入严格的归纳证明技术。当已经对非形式逻辑很熟悉后,我们再在第六第七章转向逻辑的形式性,介绍等价证明和推理证明。第八章介绍应用形式逻辑证明程序正确性。第九章介绍自动推理和逻辑编程。
The coverage of algebraic structures in Chapter 10 differs from that in other texts. After giving an elementary introduction to algebras, we then introduce algebras and algebraic techniques that apply directly to computer science. In addition to the important ideas of Boolean algebra, we also introduce abstract data types as algebras, computational algebras, and some other algebraic ideas that are used in computational problems.
对代数结构的论述也有一些不同。在第十章,我们除了基本讲述代数外,还介绍了直接应用于计算机科学的代数方面的技术。此处,对于布尔代数,我们还额外的介绍用作代数的抽象数据类型,计算代数和其它计算问题涉及的代数知识。
Contents
Preface хш
1 Elementary Notions and Notations 1 基础概念及其符号
1.1 A Proof Primer 2 证明入门
Logical Statements 2
Something to Talk About 5
Proof Techniques 6
1.2 Sets io 集合
Operations on Sets 16
Counting Finite Sets 22
Bags (Multisets) 25
Sets Should Not Be Too Complicated 26
1.3 Other Structures 31 其它结构
Tuples 31
Products of Sets 33
Lists 35
Strings 37
Relations 40
Graphs 43
Trees 49
Counting Tuples 54
2 Facts About Functions 函数的真实
2.1 Definitions and Examples 62 定义和例子
Terminology 62
Some Useful Functions 67
Partial Functions 76
2.2 Constructing Functions 79 函数的构造
Composition and Tupling 79
Higher-Order Functions 85
2.3 Properties of Functions 91 函数的性质
Injective and Surjective 92
The Pigeonhole Principle 95
Hash Functions 96
2.4 Counting Infinite Sets 100 有限集计数
Countable and Uncountable 101
3 Construction Techniques 构造技术
3.1 Inductively Defined Sets 112 递归定义的集合
Natural Numbers 113
Lists 116
Strings 120
Binary Trees 123
Product Sets 124
3.2 Language Constructions 129 语言构造
Combining Languages 131
Grammars and Derivations 133
Grammars and Languages 139
Meaning and Ambiguity 146
3.3 Recursively Defined Functions and Procedures 150 函数和过程的递归定义
Natural Numbers 152
Lists 155
Strings 161
Binary Trees 163
The Redundant Element Problem 166
The Power Set Problem 168
Computing Streams 169
4 Equivalence, Order, and Inductive Proof 177 等价、序和归纳证明
4.1 Properties and Tools 178 性质与工具
Composition 179
Closures 183
Path Problems 187
4.2 Equivalence Relations 196 等价关系
Equivalence and Partitioning 198
Generating Equivalence Relations 204
An Equivalence Problem 209
4.3 Order Relations 213 序关系
Partial Orders 215
Well-Founded Orders 223
Ordinal Numbers 231
4.4 Inductive Proof 234 归纳证明
The Idea of Induction 234
Well-Founded Induction 241
Practical Techniques 241
Proofs About Inductively Defined Sets 246
5 Analysis Techniques 253 分析技术
5.1 Optimal Algorithms 254 最优化算法
Decision Trees 258
5.2 Elementary Counting Techniques 261 初等计数技术
Permutations (Order Is Important) 261
Combinations (Order Is Not Important) 265
Finite Probability 270
5.3 Solving Recurrences 279 重复的处理
Finding Closed Forms for Sums 282
Generating Functions 286
5.4 Comparing Rates of Growth 299 对比增长率
Big Theta 299
Little Oh 303
Big Oh and Big Omega 304
6 Elementary Logic зоэ 初等逻辑
6.1 How Do We Reason? зю 我们是如何推理的?
What Is a Calculus? 311
How Can We Tell Whether Something Is a Proof? 312
6.2 Propositional Calculus 313 命题演算
Well-Formed Formulas and Semantics 314
Equivalence 317
Truth Functions and Normal Forms 321
Complete Sets of Connectives 328
Exercises 330
6.3 Formal Reasoning Systems 332 形式推理系统
Conditional Proof 336
Indirect Proof 341
Proof Notes 343
Reasoning Systems for Propositional Calculus 344
Logic Puzzles 347
7 Predicate Logic 355 谓词逻辑
7.1 First-Order Predicate Calculus 355 一阶谓词演算
Well-Formed Formulas 359
Semantics 362
Validity 366
The Validity Problem 369
7.2 Equivalent Formulas 372 等价公式
Equivalence 372
Normal Forms 378
Formalizing English Sentences 381
7.3 Formal Proofs in Predicate Calculus 386 用谓词演算作形式证明
Universal Instantiation (UI) 387
Existential Instantiation (El) 390
Universal Generalization (UG) 391
Existential Generalization (EG) 397
Examples of Formal Proofs 399
8 Applied Logic 411 应用逻辑
8.1 Equality 412 相等
Describing Equality 412
Extending Equals for Equals 418
8.2 Program Correctness 420 程序正确性
Imperative Program Correctness 420
Arrays 432
Termination 435
8.3 Higher-Order Logics 442 高阶逻辑
Classifying Higher-Order Logics 443
Semantics 447
Higher-Order Reasoning 448
9 Computational Logic 453 计算逻辑
9.1 Automatic Reasoning 453 自动推理
Clauses and Clausal Forms 454
A Primer of Resolution for Propositions 460
Substitution and Unification 462
Resolution: The General Case 467
Theorem Proving with Resolution 473
9.2 Logic Programming 479 逻辑编程
Definition of a Logic Program 483
Resolution and Logic Programming 484
Logic Programming Techniques 498
10 Algebraic Structures and Techniques 507 代数结构和技术
10.1 What Is an Algebra? 508 什么是代数?
The Description Problem 508
High School Algebra 509
Definition of an Algebra 510
Working in Algebras 516
10.2 Boolean Algebra 522 布尔代数
Simplifying Boolean Expressions 524
Digital Circuits 528
Summary of Properties 534
10.3 Abstract Data Types as Algebras 536 抽象数据类型与代数
Natural Numbers 537
Lists and Strings 541
Stacks and Queues 543
Binary Trees and Priority Queues 547
10.4 Computational Algebras 551 计算代数
Relational Algebras 551
Process Algebras 554
Functional Algebras 556
10.5 Other Algebraic Ideas 563 其它代数思想
Congruences 563
New Algebras from Old Algebras 567
Morphisms 570
Answers to Selected Exercises 58i
Bibliography 639
Greek Alphabet 642
Symbol Glossary 643
Index 647