Introduction to Lattice Theory with Computer Science ApplicationsISBN: 9781118914373
272 pages
May 2015

Description
This book provides a uniform treatment of the theory and applications of lattice theory. The applications covered include tracking dependency in distributed systems, combinatorics, detecting global predicates in distributed systems, set families, and integer partitions. The book presents algorithmic proofs of theorems whenever possible. These proofs are written in the calculational style advocated by Dijkstra, with arguments explicitly spelled out step by step. The author’s intent is for readers to learn not only the proofs, but the heuristics that guide said proofs.
Introduction to Lattice Theory with Computer Science Applications:
 Examines; posets, Dilworth’s theorem, merging algorithms, lattices, lattice completion, morphisms, modular and distributive lattices, slicing, interval orders, tractable posets, lattice enumeration algorithms, and dimension theory
 Provides end of chapter exercises to help readers retain newfound knowledge on each subject
 Includes supplementary material at www.ece.utexas.edu/~garg
Introduction to Lattice Theory with Computer Science Applications is written for students of computer science, as well as practicing mathematicians.
Table of Contents
List of Figures xiii
Nomenclature xv
Preface xvii
1 Introduction 1
1.1 Introduction 1
1.2 Relations 2
1.3 Partial Orders 3
1.4 Join and Meet Operations 5
1.5 Operations on Posets 7
1.6 Ideals and Filters 8
1.7 Special Elements in Posets 9
1.8 Irreducible Elements 10
1.9 Dissector Elements 11
1.10 Applications: Distributed Computations 11
1.11 Applications: Combinatorics 12
1.12 Notation and Proof Format 13
1.13 Problems 15
1.14 Bibliographic Remarks 15
2 Representing Posets 17
2.1 Introduction 17
2.2 Labeling Elements of The Poset 17
2.3 Adjacency List Representation 18
2.4 Vector Clock Representation 20
2.5 Matrix Representation 22
2.6 DimensionBased Representation 22
2.7 Algorithms to Compute Irreducibles 23
2.8 Infinite Posets 24
2.9 Problems 26
2.10 Bibliographic Remarks 27
3 Dilworth’s Theorem 29
3.1 Introduction 29
3.2 Dilworth’s Theorem 29
3.3 Appreciation of Dilworth’s Theorem 30
3.4 Dual of Dilworth’s Theorem 32
3.5 Generalizations of Dilworth’s Theorem 32
3.6 Algorithmic Perspective of Dilworth’s Theorem 32
3.7 Application: Hall’s Marriage Theorem 33
3.8 Application: Bipartite Matching 34
3.9 Online Decomposition of Posets 35
3.10 A Lower Bound on Online Chain Partition 37
3.11 Problems 38
3.12 Bibliographic Remarks 39
4 Merging Algorithms 41
4.1 Introduction 41
4.2 Algorithm to Merge Chains in Vector Clock Representation 41
4.3 An Upper Bound for Detecting an Antichain of Size K 47
4.4 A Lower Bound for Detecting an Antichain of Size K 48
4.5 An Incremental Algorithm for Optimal Chain Decomposition 50
4.6 Problems 50
4.7 Bibliographic Remarks 51
5 Lattices 53
5.1 Introduction 53
5.2 Sublattices 54
5.3 Lattices as Algebraic Structures 55
5.4 Bounding The Size of The Cover Relation of a Lattice 56
5.5 JoinIrreducible Elements Revisited 57
5.6 Problems 59
5.7 Bibliographic Remarks 60
6 Lattice Completion 61
6.1 Introduction 61
6.2 Complete Lattices 61
6.3 Closure Operators 62
6.4 Topped ∩Structures 63
6.5 Dedekind–Macneille Completion 64
6.6 Structure of DedekindMacneille Completion of a Poset 67
6.7 An Incremental Algorithm for Lattice Completion 69
6.8 Breadth First Search Enumeration of Normal Cuts 71
6.9 Depth First Search Enumeration of Normal Cuts 73
6.10 Application: Finding the Meet and Join of Events 75
6.11 Application: Detecting Global Predicates in Distributed Systems 76
6.12 Application: Data Mining 77
6.13 Problems 78
6.14 Bibliographic Remarks 78
7 Morphisms 79
7.1 Introduction 79
7.2 Lattice Homomorphism 79
7.3 Lattice Isomorphism 80
7.4 Lattice Congruences 82
7.5 Quotient Lattice 83
7.6 Lattice Homomorphism and Congruence 83
7.7 Properties of Lattice Congruence Blocks 84
7.8 Application: Model Checking on Reduced Lattices 85
7.9 Problems 89
7.10 Bibliographic Remarks 90
8 Modular Lattices 91
8.1 Introduction 91
8.2 Modular Lattice 91
8.3 Characterization of Modular Lattices 92
8.4 Problems 98
8.5 Bibliographic Remarks 98
9 Distributive Lattices 99
9.1 Introduction 99
9.2 Forbidden Sublattices 99
9.3 JoinPrime Elements 100
9.4 Birkhoff’s Representation Theorem 101
9.5 Finitary Distributive Lattices 104
9.6 Problems 104
9.7 Bibliographic Remarks 105
10 Slicing 107
10.1 Introduction 107
10.2 Representing Finite Distributive Lattices 107
10.3 Predicates on Ideals 110
10.4 Application: Slicing Distributed Computations 116
10.5 Problems 117
10.6 Bibliographic Remarks 118
11 Applications of Slicing to Combinatorics 119
11.1 Introduction 119
11.2 Counting Ideals 120
11.3 Boolean Algebra and Set Families 121
11.4 Set Families of Size k 122
11.5 Integer Partitions 123
11.6 Permutations 127
11.7 Problems 129
11.8 Bibliographic Remarks 129
12 Interval Orders 131
12.1 Introduction 131
12.2 Weak Order 131
12.3 Semiorder 133
12.4 Interval Order 134
12.5 Problems 136
12.6 Bibliographic Remarks 137
13 Tractable Posets 139
13.1 Introduction 139
13.2 Series–Parallel Posets 139
13.3 TwoDimensional Posets 142
13.4 Counting Ideals of a TwoDimensional Poset 145
13.5 Problems 146
13.6 Bibliographic Remarks 147
14 Enumeration Algorithms 149
14.1 Introduction 149
14.2 BFS Traversal 150
14.3 DFS Traversal 154
14.4 LEX Traversal 154
14.5 Uniflow Partition of Posets 160
14.6 Enumerating Tuples of Product Spaces 163
14.7 Enumerating All Subsets 163
14.8 Enumerating All Subsets of Size k 165
14.9 Enumerating Young’s Lattice 166
14.10 Enumerating Permutations 167
14.11 Lexical Enumeration of All Order Ideals of a Given Rank 168
14.12 Problems 172
14.13 Bibliographic Remarks 173
15 Lattice of Maximal Antichains 159
15.1 Introduction 159
15.2 Maximal Antichain Lattice 161
15.3 An Incremental Algorithm Based on Union Closure 163
15.4 An Incremental Algorithm Based on BFS 165
15.5 Traversal of the Lattice of Maximal Antichains 166
15.6 Application: Detecting AntichainConsistent Predicates 168
15.7 Construction and Enumeration of Width Antichain Lattice 169
15.8 Lexical Enumeration of Closed Sets 171
15.9 Construction of Lattices Based on Union Closure 174
15.10 Problems 174
15.11 Bibliographic Remarks 175
16 Dimension Theory 177
16.1 Introduction 177
16.2 Chain Realizers 178
16.3 Standard Examples of Dimension Theory 179
16.4 Relationship Between the Dimension and the Width of a Poset 180
16.5 Removal Theorems for Dimension 181
16.6 Critical Pairs in the Poset 182
16.7 String Realizers 184
16.8 Rectangle Realizers 193
16.9 Order Decomposition Method and Its Applications 194
16.10 Problems 196
16.11 Bibliographic Remarks 197
17 Fixed Point Theory 215
17.1 Complete Partial Orders 215
17.2 Knaster–Tarski Theorem 216
17.3 Application: Defining Recursion Using Fixed Points 218
17.4 Problems 226
17.5 Bibliographic Remarks 227
Bibliography 229
Index 235
Author Information
Reviews
"This nice book on lattices and their applications in computer science is written from the perspective of a computer scientist rather than a mathematician...Given its emphasis on algorithms and their complexity, it seems to be mainly intended for students of computer science and engineering. The author's approach is based on the premise that a student needs to learn the heuristics that guide the proofs, besides the proofs themselves, and to learn ways to extend and analyze theorems...One of the most important and valuable features of the book is its focus on applications of lattice theory. The author intends to treat applications on par with the theory." Altogether a "lovely book". (Mathematical Reviews/MathSciNet April 2017)