The Knaster-Tarski Fixed Point Theorem for Complete Partial Orders

Similar documents
Cardinality and ordinal numbers

COSE312: Compilers. Lecture 14 Semantic Analysis (4)

Semantics and Verification of Software

Joins in the strong Weihrauch degrees.

CS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus

AAA616: Program Analysis. Lecture 3 Denotational Semantics

Part II. Logic and Set Theory. Year

Lecture 2. Least Fixed Points

Gerwin Klein, June Andronick, Ramana Kumar S2/2016

Part II Logic and Set Theory

Section 4.4 Functions. CS 130 Discrete Structures

Notes. Functions. Introduction. Notes. Notes. Definition Function. Definition. Slides by Christopher M. Bourke Instructor: Berthe Y.

Definition: For nonempty sets X and Y, a function, f, from X to Y is a relation that associates with each element of X exactly one element of Y.

Foundations of mathematics. 5. Galois connections

MATH 3300 Test 1. Name: Student Id:

Discrete Fixpoint Approximation Methods in Program Static Analysis

Lambda-Calculus (cont): Fixpoints, Naming. Lecture 10 CS 565 2/10/08

Functions as Relations

4. We accept without proofs that the following functions are differentiable: (e x ) = e x, sin x = cos x, cos x = sin x, log (x) = 1 sin x

CS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers. 1 Complete partial orders (CPOs) 2 Least fixed points of functions

Functions. Definition 1 Let A and B be sets. A relation between A and B is any subset of A B.

CSE 20 DISCRETE MATH. Fall

CS 6110 Lecture 35 Solving Domain Equations 19 April 2013 Lecturer: Andrew Myers

Walker Ray Econ 204 Problem Set 3 Suggested Solutions August 6, 2015

What does the partial order "mean"?

A should be R-closed: R(A) A. We would like this to hold because we would like every element that the rules say should be in A to actually be in A.

Calculus The Mean Value Theorem October 22, 2018

Lattices and Orders in Isabelle/HOL

D-MATH Algebra I HS18 Prof. Rahul Pandharipande. Solution 1. Arithmetic, Zorn s Lemma.

The Lambda Calculus. Stephen A. Edwards. Fall Columbia University

Chapter 2 Invertible Mappings

3 FUNCTIONS. 3.1 Definition and Basic Properties. c Dr Oksana Shatalov, Fall

Formal Techniques for Software Engineering: Denotational Semantics

Math 127 Homework. Mary Radcliffe. Due 29 March Complete the following problems. Fully justify each response.

Section 4.2 The Mean Value Theorem

Chapter 8: Taylor s theorem and L Hospital s rule

Chapter 1. Sets and Mappings

(Rgs) Rings Math 683L (Summer 2003)

Prof. Ila Varma HW 8 Solutions MATH 109. A B, h(i) := g(i n) if i > n. h : Z + f((i + 1)/2) if i is odd, g(i/2) if i is even.

Func%ons. function f to the element a of A. Functions are sometimes called mappings or transformations.

Concrete Domains. Gilles Kahn INRIA Sophia Antipolis Gordon D. Plotkin University of Edinburgh

Review. Principles of Programming Languages. Equality. The Diamond Property. The Church-Rosser Theorem. Corollaries. CSE 230: Winter 2007

Diskrete Mathematik Solution 6

CS611 Lecture 25 Solving Domain Equations 22 October 2007 Lecturer: Andrew Myers

This paper is also taken by Combined Studies Students. Optional Subject (i): Set Theory and Further Logic

Inductive Definitions and Fixed Points

Math 547, Exam 2 Information.

Restricted truth predicates in first-order logic

1 Introduction. 2 Recap The Typed λ-calculus λ. 3 Simple Data Structures

MATH 104: INTRODUCTORY ANALYSIS SPRING 2008/09 PROBLEM SET 8 SOLUTIONS

An Abstract Interpretation Framework for Semantics and Diagnosis of Lazy Functional-Logic Languages

06 Recursive Definition and Inductive Proof

MATH 13 SAMPLE FINAL EXAM SOLUTIONS

MATH 224 FOUNDATIONS DR. M. P. M. M. M C LOUGHLIN HAND-OUT XIV FUNCTIONS REVISED 2016

Sets. We discuss an informal (naive) set theory as needed in Computer Science. It was introduced by G. Cantor in the second half of the nineteenth

Consistency of a Programming Logic for a Version of PCF Using Domain Theory

1 Solutions to selected problems

Induction. Induction. Induction. Induction. Induction. Induction 2/22/2018

Denotational Semantics

Section Summary. Definition of a Function.

FORMAL METHODS LECTURE V: CTL MODEL CHECKING

A Non-Topological View of Dcpos as Convergence Spaces

3 FUNCTIONS. 3.1 Definition and Basic Properties. c Dr Oksana Shatalov, Spring

MATH 318 Mathematical Logic Class notes

Well-foundedness of Countable Ordinals and the Hydra Game

ADVANCED CALCULUS - MTH433 LECTURE 4 - FINITE AND INFINITE SETS

S15 MA 274: Exam 3 Study Questions

Lecture Notes on Discrete Mathematics. October 15, 2018 DRAFT

Goal. Partially-ordered set. Game plan 2/2/2013. Solving fixpoint equations

Outline. Sets. Relations. Functions. Products. Sums 2 / 40

Elementary Recursive Function Theory

Logic Michælmas 2003

Definitions & Theorems

3 FUNCTIONS. 3.1 Definition and Basic Properties. c Dr Oksana Shatalov, Fall

MATH 409 Advanced Calculus I Lecture 16: Mean value theorem. Taylor s formula.

Programming Languages

Solutions to Homework Problems

Homework for MATH 4603 (Advanced Calculus I) Fall Homework 13: Due on Tuesday 15 December. Homework 12: Due on Tuesday 8 December

FUNDAMENTAL THEOREMS OF ANALYSIS IN FORMALLY REAL FIELDS

Mathematical Background and Basic Notations

Continuity. Chapter 4

Week Some Warm-up Questions

0 Sets and Induction. Sets

Extremal Solutions of Inequations over Lattices with Applications to Supervisory Control 1

Topology in Denotational Semantics

Model Checking in the Propositional µ-calculus

MATH FINAL EXAM REVIEW HINTS

(a) We need to prove that is reflexive, symmetric and transitive. 2b + a = 3a + 3b (2a + b) = 3a + 3b 3k = 3(a + b k)

Complete Partial Orders, PCF, and Control

Least Fixpoints Calculationally

Extending the Lambda Calculus: An Eager Functional Language

Modal-Like Operators in Boolean Lattices, Galois Connections and Fixed Points

MATH 131A: REAL ANALYSIS (BIG IDEAS)

Thus, X is connected by Problem 4. Case 3: X = (a, b]. This case is analogous to Case 2. Case 4: X = (a, b). Choose ε < b a

Logical Connectives and Quantifiers

MATH1050 Greatest/least element, upper/lower bound

INTRODUCTION TO CARDINAL NUMBERS

4.1 - Maximum and Minimum Values

SETS AND FUNCTIONS JOSHUA BALLEW

Projective Varieties. Chapter Projective Space and Algebraic Sets

Transcription:

The Knaster-Tarski Fixed Point Theorem for Complete Partial Orders Stephen Forrest October 31, 2005

Complete Lattices Let (X, ) be a be partially ordered set, and let S X. Then S ( the meet of S ) denotes the least upper bound of S with respect to, if it exists. Similarly, S ( the join of S ) denotes the greatest lower bound of S with respect to. We say that X is a complete lattice if, for every S X, then both S and S exist in X. Example 1: Take (N {0}, ), where a b if a divides b. This is a complete lattice, where a b = gcd(a, b), a b = lcm(a, b), = 1, and = 0. Example 2: Take (P(X), ) for any set X. This is a 2

complete lattice, where S = S, S = S, =, and = X.

Definitions Let (X, X ) and (Y, Y ) be partially ordered sets. A function ϕ : X Y is monotone or order-preserving if x 1 X x 2 implies f(x 1 ) Y f(x 2 ). A point x X is a fixed point of a function ϕ : X Y if ϕ(x) = x. Denote the set of fixed points of ϕ by fix(ϕ). 3

Knaster-Tarski Fixed-Point Theorem for Complete Lattices Let L be a complete lattice and Ψ : L L be monotone. Then {x L x Ψ(x)} fix(ψ) Proof: Let H = {x L x Ψ(x)} and α = H. For all x H we have x α, so then x Ψ(x) Ψ(α) by monotonicity. Therefore Ψ(α) is an upper bound for H, hence α Ψ(α). Then, by monotonicity, we have Ψ(α) Ψ(Ψ(α)), so Ψ(α) H, and therefore Ψ(α) α. Hence by antisymmetry, α = Ψ(α). 4

Knaster-Tarski (cont d) The Knaster-Tarski theorem can be generalized to state that fix(ψ) is itself a complete lattice, hence a smallest fixed-point of Ψ can be chosen. We will state a further generalization to complete partial orders. First, some more definitions: Let (X, ) be a partially ordered set. Let S X with S. S is a directed subset if whenever x, y S there exists z S such that x z and y z. Example: Take (N {0}, ) as before, i.e. a b if a divides b. Then {2, 3} is not a directed subset of X, but {2, 3, 6} is. 5

Complete Partially Ordered Sets Let (X, ) be a partially ordered set. We say that X is a complete partially ordered set (CPO) if: X has a bottom element. D exists for each directed subset D of X. Any complete lattice is a CPO, as is any finite partially ordered set with a least element ( ). Example: Take the set of all partial functions defined on some set S, where f g if dom(f) dom(g) and f(x) = g(x) for all x dom(f). This is a CPO, with the least element being the function defined nowhere. 6

Knaster-Tarski Fixed-Point Theorem for Complete Partial Orders Let X be a CPO and Ψ : P P be an order-preserving map. Then fix(ψ) is a CPO. In particular, this means that we can choose a smallest element from fix(ψ). 7

Consequences The Knaster-Tarski theorem has many applications and consequences. In mathematics, it provides a short proof of the Schröder- Bernstein Theorem. In computer science, it is used heavily in the field of denotational semantics and abstract interpretation, where the existence of fixed points can be exploited to guarantee well-defined semantics for a recursive algorithm. 8

Fixed Points and Program Semantics The semantics of recursive functions are difficult to specify: to use a function name before it is defined. The factorial function can be specified as the unique fixed point of the function F = λf. λx. if x = 0 then 1 else x f(x 1) It is clear that factorial is a fixed point, since F factorial = λx. if x = 0 then 1 else x factorial(x 1) = factoria The factorial can be represented in lambda-calculus as Y F, with F as above and Y given by Y = λg. (λg. G(g g))(λg. G(g g)) Y is the Y combinator discovered by Haskell Curry. It finds a fixed point of its argument if it exists. 9

The Schröder-Bernstein Theorem Let f : A B and g : B A be injections. Then there exists a bijection h between A and B. Proof: As stated earlier P(A) is a complete lattice. For any S A, define ϕ : P(A) P(A) by ϕ(s) = A \ g(b \ f(s)). Since f, g are injective, then ϕ is monotone. Hence ϕ has a fixed point C A, therefore A \ C = g(b \ f(c)). Then we can define a bijection h : A B simply by setting h(x) = f(x) if x C, and h(x) = g 1 (x) if x A \ C. 10