Model Checking for the -calculus. Paolo Zuliani , Spring 2011

Similar documents
CS357: CTL Model Checking (two lectures worth) David Dill

Chapter 6: Computation Tree Logic

Temporal Logic Model Checking

FORMAL METHODS LECTURE V: CTL MODEL CHECKING

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

Lecture 16: Computation Tree Logic (CTL)

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Model Checking in the Propositional µ-calculus

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw

Model Checking with CTL. Presented by Jason Simas

Advances in the theory of fixed points in many-valued logics

Computation Tree Logic

Algorithms for Modal µ-calculus Interpretation

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.

ACKNOWLEDGEMENT: The work of the second author was supported in part by NSF grant MCS G.

Model for reactive systems/software

Models for Efficient Timed Verification

T Reactive Systems: Temporal Logic LTL

MODEL-CHECKING IN DENSE REAL-TIME SHANT HARUTUNIAN

CS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics

Example. Lemma. Proof Sketch. 1 let A be a formula that expresses that node t is reachable from s

Computation Tree Logic

Tecniche di Verifica. Introduction to Propositional Logic

On the satisfiability problem for a 4-level quantified syllogistic and some applications to modal logic

Linear Temporal Logic and Büchi Automata

A brief introduction to Logic. (slides from

Finite State Model Checking

A linear translation from LTL to the first-order modal µ-calculus

Model Checking. Temporal Logic. Fifth International Symposium in Programming, volume. of concurrent systems in CESAR. In Proceedings of the

Optimal Decision Procedures for Satisfiability in Fragments of Alternating-time Temporal Logics

Alternating Time Temporal Logics*

PSPACE-completeness of LTL/CTL model checking

Overview. overview / 357

Partial model checking via abstract interpretation

Model checking (III)

Propositional Logic Language

Natural Deduction for Propositional Logic

Computation Tree Logic

Model Checking: An Introduction

3-Valued Abstraction-Refinement

From Liveness to Promptness

A Tableau Proof System with Names for Modal Mu-calculus

Model Checking & Program Analysis

Propositional Logic: Models and Proofs

Normal Forms of Propositional Logic

Temporal & Modal Logic. Acronyms. Contents. Temporal Logic Overview Classification PLTL Syntax Semantics Identities. Concurrency Model Checking

Modal logics: an introduction

First-order resolution for CTL

Comp487/587 - Boolean Formulas

Propositional Dynamic Logic

Program Schemata Technique to Solve Propositional Program Logics Revised

Unifying Theories of Programming

A Propositional Dynamic Logic for Instantial Neighborhood Semantics

Quantified Boolean Formulas Part 1

Modal and Temporal Logics

Chapter 4: Computation tree logic

Verification. Arijit Mondal. Dept. of Computer Science & Engineering Indian Institute of Technology Patna

LTL with Arithmetic and its Applications in Reasoning about Hierarchical Systems

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

A 3 Valued Contraction Model Checking Game: Deciding on the World of Partial Information

A Normal Form for Temporal Logics and its Applications in Theorem-Proving and Execution

Thorough Checking Revisited

State-Space Exploration. Stavros Tripakis University of California, Berkeley

Abstracting real-valued parameters in parameterised boolean equation systems

Lectures on the modal µ-calculus

Reducing CTL-live Model Checking to Semantic Entailment in First-Order Logic (Version 1)

Lecture Notes on Emptiness Checking, LTL Büchi Automata

Logic: Propositional Logic (Part I)

Model Checking. and the. Abstract. There is a growing recognition of the need to apply formal

Model Checking Algorithms

Proving Completeness for Nested Sequent Calculi 1

Timo Latvala. February 4, 2004

Lecture 3: Semantics of Propositional Logic

Weighted Abstract Dialectical Frameworks

Constructive Formalization of Classical Modal Logic

Logical equivalences 12/8/2015. S T: Two statements S and T involving predicates and quantifiers are logically equivalent

Propositional Logic: Logical Agents (Part I)

Verification Using Temporal Logic

Syntax and Semantics of Propositional Linear Temporal Logic

cse371/mat371 LOGIC Professor Anita Wasilewska Fall 2018

Finite-State Model Checking

Propositional and Predicate Logic - II

Continuity. Chapter 4

New insights on the intuitionistic interpretation of Default Logic

Model-Checking. A Tutorial Introduction Dortmund, Germany,

Yet Another Proof of the Strong Equivalence Between Propositional Theories and Logic Programs

Advanced Topics in LP and FP

Mathematik / Informatik

TR : Binding Modalities

3. Temporal Logics and Model Checking

Model Checking for Modal Intuitionistic Dependence Logic

On the satisfiability problem for a 4-level quantified syllogistic and some applications to modal logic

Reasoning about Strategies: From module checking to strategy logic

How Vacuous is Vacuous?

cse541 LOGIC FOR COMPUTER SCIENCE

Automata, Logic and Games: Theory and Application

Algorithms for Model Checking (2IW55)

Restricted truth predicates in first-order logic

INTRODUCTION TO PREDICATE LOGIC HUTH AND RYAN 2.1, 2.2, 2.4

AMTH140 Lecture 8. Symbolic Logic

Transcription:

Model Checking for the -calculus Paolo Zuliani 15-817, Spring 2011

Outline What is the -calculus? Semantics Model Checking algorithms [Other fixpoint theorems]

The -calculus A language for describing properties of transition systems It uses least and greatest fixpoint operators (least fixpoint) (greatest fixpoint) It subsumes many temporal logics CTL* can be translated into the -calculus

The -calculus More expressive than temporal logics See last lecture on Data Flow Analysis, but also Even(p) = p must happen every two steps (p can happen or not in other steps) along a given path (Wolper, 1981) Even(p) cannot be expressed in temporal logics Even(p) can be expressed in the -calculus (later) There are efficient Model Checking algorithms Formulae evaluate to sets of states

Semantics Given wrt modified Kripke structures, that is, Kripke structures with labels on transitions Example: s 0, s 1, s 2, s 3 states p atomic prop. a, b transitions s 0 a ~p ~p s 1 a a b ~p p s 3 b s 2

Semantics A modified Kripke structure M = (S,T,L) consists of a nonempty set of states S, a set of transitions T, such that for each transition a T, a S S, and a mapping L : S 2 AP that gives the set of atomic propositions true in a state. VAR = {Q, Q 1, Q 2,...} a set of relational variables Each relational variable Q VAR can be assigned a subset of S

Syntax If p AP, then p is a formula A relational variable is a formula If f, g formulas, then f, f g and f g formulas If f is a formula, and a T, then [a]f and a f are formulas For Q VAR and formula f, then μq.f and νq.f are formulas provided that f is syntactically monotone in Q, i.e., all occurrences of Q within f fall under an even number of negations

Syntax Two modalities their informal meaning is [a] f = f holds in all states reachable by one step of transition a a f = f holds in a state reachable by one step of transition a

Syntax Two modalities their informal meaning is [a] f = f holds in all states reachable by one step of transition a a f = f holds in a state reachable by one step of transition a Example (suppose only one transition a): Even(p) = νq.(p Λ a a Q) (along a path)

Syntax Two modalities their informal meaning is [a] f = f holds in all states reachable by one step of transition a a f = f holds in a state reachable by one step of transition a Example (suppose only one transition a): Even(p) = νq.(p Λ a a Q) (along a path) E[p U q] = μq.(p (q a Q)) (over a Kripke str.)

Semantics Given a modified Kripke structure M VAR = {Q, Q 1, Q 2,...} a set of relational variables An environment e : VAR 2 S The semantics f Me of a formula f is the set of states in which f is true

Semantics Given a modified Kripke structure M VAR = {Q, Q 1, Q 2,...} a set of relational variables An environment e : VAR 2 S The semantics f Me of a formula f is the set of states in which f is true We denote S=True (formula True holds for all states) Ø=False (formula False holds for no state) e*q W+ is the environment equal to e, except that (e*q W+)(Q) = W

Semantics The order on 2 S is given by set inclusion The set f e is defined recursively as follows: p e = {s p L(s)} Q e = e(q) f e = S \ f e f g e = f e g e f g e = f e g e

Semantics a f e = {s t (s,t) a and t f e} [a] f e = {s t (s,t) a implies t f e}

Semantics a f e = {s t (s,t) a and t f e} [a] f e = {s t (s,t) a implies t f e} μq.f e is the least fixpoint of the predicate transformer τ: 2 S 2 S defined by: τ(w) = f (e*q W+)

Semantics a f e = {s t (s,t) a and t f e} [a] f e = {s t (s,t) a implies t f e} μq.f e is the least fixpoint of the predicate transformer τ: 2 S 2 S defined by: τ(w) = f (e*q W+) νq.f e is the greatest fixpoint of τ above

Semantics All logical connectives and modalities (except negation) are monotonic Example: conjunction f e f e f g e f g e ( A B A C B C )

Semantics Negations can be pushed down to atomic propositions by De Morgan s laws and [a] f a f a f *a] f μq.f(q) νq. f( Q) νq.f(q) μq. f( Q) Variables appear under an even number of negations By applying the rules above, variables will be negation-free

Semantics Therefore, in a fixpoint formula we can only define monotonic operators Therefore, fixpoints exist! (Tarski)

Semantics Therefore, in a fixpoint formula we can only define monotonic operators Therefore, fixpoints exist! (Tarski) Furthermore, we assume that S is finite, so we can effectively compute the fixpoints μq.f e = i τ i (False) νq.f e = i τ i (True) Recall that μq.f e = lfp(τ) where τ(w) = f (e*q W+)

Model Checking: a naïve algorithm

Model Checking: example Calculate νq.(p b Q) e on the Kripke structure a ~p ~p s 0 s 1 a a b ~p p s 3 b s 2

νq.(p b Q) e is gfp of τ(w) = p b Q (e*q W+) Start iterating τ from True (the entire state space S) τ 1 (True)= p b Q (e*q True])

νq.(p b Q) e is gfp of τ(w) = p b Q (e*q W+) Start iterating τ from True (the entire state space S) τ 1 (True)= p b Q (e*q True]) = p (e*q S+) b Q (e*q S+)

νq.(p b Q) e is gfp of τ(w) = p b Q (e*q W+) Start iterating τ from True (the entire state space S) τ 1 (True)= p b Q (e*q True]) = p (e*q S+) b Q (e*q S+) = {s 2 } {s t (s,t) b and t ( Q e*q S+)}

νq.(p b Q) e is gfp of τ(w) = p b Q (e*q W+) Start iterating τ from True (the entire state space S) τ 1 (True)= p b Q (e*q True]) = p (e*q S+) b Q (e*q S+) = {s 2 } {s t (s,t) b and t ( Q e*q S+)} = {s 2 } {s t (s,t) b and t S}

νq.(p b Q) e is gfp of τ(w) = p b Q (e*q W+) Start iterating τ from True (the entire state space S) τ 1 (True)= p b Q (e*q True]) = p (e*q S+) b Q (e*q S+) = {s 2 } {s t (s,t) b and t ( Q e*q S+)} = {s 2 } {s t (s,t) b and t S} = {s 2 } {s 1, s 3 } = {s 1, s 2, s 3 }

νq.(p b Q) e is gfp of τ(w) = p b Q (e*q W+) Start iterating τ from True (the entire state space S) τ 1 (True)= p b Q (e*q True]) = p (e*q S+) b Q (e*q S+) = {s 2 } {s t (s,t) b and t ( Q e*q S+)} = {s 2 } {s t (s,t) b and t S} = {s 2 } {s 1, s 3 } = {s 1, s 2, s 3 } τ 2 (True) = τ(τ(true)) = τ({s 1, s 2, s 3 })

νq.(p b Q) e is gfp of τ(w) = p b Q (e*q W+) Start iterating τ from True (the entire state space S) τ 1 (True)= p b Q (e*q True]) = p (e*q S+) b Q (e*q S+) = {s 2 } {s t (s,t) b and t ( Q e*q S+)} = {s 2 } {s t (s,t) b and t S} = {s 2 } {s 1, s 3 } = {s 1, s 2, s 3 } τ 2 (True) = τ(τ(true)) = τ({s 1, s 2, s 3 }) = {s 2 } {s 1, s 3 } = {s 1, s 2, s 3 }

Complexity of Model Checking Calculate μx. μy. τ (X,Y) e (τ is -cont.) Define ζ(x) = μy. τ (X,Y) so that μx. μy. τ (X,Y) e = μx. ζ(x) e

Complexity of Model Checking Calculate μx. μy. τ (X,Y) e (τ is -cont.) Define ζ(x) = μy. τ (X,Y) so that μx. μy. τ (X,Y) e = μx. ζ(x) e Now: iterate ζ(false) until ζ i (False) = ζ i+1 (False) ζ i+1 (False) = μy. τ (ζ i (False),Y)

Complexity of Model Checking Calculate μx. μy. τ (X,Y) e (τ is -cont.) Define ζ(x) = μy. τ (X,Y) so that μx. μy. τ (X,Y) e = μx. ζ(x) e Now: iterate ζ(false) until ζ i (False) = ζ i+1 (False) ζ i+1 (False) = μy. τ (ζ i (False),Y) Iterate τ(ζ i (False),False) until τ j (ζ i (False),False) = τ j+1 (ζ i (False),False)

Complexity of Model Checking Calculate μx. μy. τ (X,Y) e (τ is -cont.) Define ζ(x) = μy. τ (X,Y) so that μx. μy. τ (X,Y) e = μx. ζ(x) e Now: iterate ζ(false) until ζ i (False) = ζ i+1 (False) ζ i+1 (False) = μy. τ (ζ i (False),Y) Iterate τ(ζ i (False),False) until τ j (ζ i (False),False) = τ j+1 (ζ i (False),False) Overall, we need O( S 2 ) iterations of τ A formula with k nested fixpoint operators needs O( S k ) iterations of the innermost fixpoint transformer

Faster Model Checking Key idea: nested fixpoints of the same type do not need re-initialization to False (or True) Need to define alternation depth of a formula number of alternations of μ and ν operators

Faster Model Checking Key idea: nested fixpoints of the same type do not need re-initialization to False (or True) Need to define alternation depth of a formula number of alternations of μ and ν operators A top-level ν-subformula of f is a subformula νq.g of f not contained in any other ν-subformula of f Example: f = μq.(νq 1.g 1 νq 2.g 2 ) νq 1.g 1 and νq 2.g 2 are ν-subformulae of f

Alternation Depth If f contains subsentences w 1,, w n then AD(f) = max(ad(w 1 ),, AD(w n ), AD(f )) where f is obtained from f by substitution new constants c 1,,c n for w 1,, w n The AD of atomic propositions or relational variables is 0 The AD of f g, f g, a f, [a]f is the maximum AD of subformulae f and g The AD of μq.f is max (AD(f), 1 + max (AD(f 1 ),, AD(f n )) where f 1,,f n are the top-level ν-subformulae of f

What is the Alternation Depth of μq. (p [a]q) = 1

What is the Alternation Depth of μq. (p [a]q) = 1 μq.(νq 1.(p a Q 1 ) [a]q)

What is the Alternation Depth of μq. (p [a]q) = 1 μq.(νq 1.(p a Q 1 ) [a]q)

What is the Alternation Depth of μq. (p [a]q) = 1 μq.(νq 1.(p a Q 1 ) [a]q) max (νq 1.(p a Q 1 ), μq.(x [a]q),) = 1

What is the Alternation Depth of μq. (p [a]q) = 1 μq.(νq 1.(p a Q 1 ) [a]q) max (νq 1.(p a Q 1 ), μq.(x [a]q),) = 1 νq.μq 1. a (νq 2.μQ 3.( a (p Q 2 ) Q 3 )) Q) Q 1 )

What is the Alternation Depth of μq. (p [a]q) = 1 μq.(νq 1.(p a Q 1 ) [a]q) max (νq 1.(p a Q 1 ), μq.(x [a]q),) = 1 νq.μq 1. a (νq 2.μQ 3.( a (p Q 2 ) Q 3 )) Q) Q 1 )

What is the Alternation Depth of μq. (p [a]q) = 1 μq.(νq 1.(p a Q 1 ) [a]q) max (νq 1.(p a Q 1 ), μq.(x [a]q),) = 1 νq.μq 1. a (νq 2.μQ 3.( a (p Q 2 ) Q 3 )) Q) Q 1 ) max (νq 2.μQ 3.( a (p Q 2 ) Q 3 ), νq.μq 1. a (Y Q) Q 1 ) = 2

Faster Model Checking E.A. Emerson and C.-L. Lei, LICS 1986 Reset relational variables to True (False) only when fixpoint operators alternate Thus, need only O( S d ) iterations of the innermost fixpoint transformer, where d=ad(f)

Emerson and Lei s algorithm Lemma: Let τ: 2 S 2 S be monotonic (thus - and -continuous, since S finite). Then:

Emerson and Lei s algorithm Lemma: Let τ: 2 S 2 S be monotonic (thus - and -continuous, since S finite). Then: If X μq.τ(q) then μq.τ(q) = i τ i (X)

Emerson and Lei s algorithm Lemma: Let τ: 2 S 2 S be monotonic (thus - and -continuous, since S finite). Then: If X μq.τ(q) then μq.τ(q) = i τ i (X) If Y νq.τ(q) then νq.τ(q) = i τ i (Y)

Emerson and Lei s algorithm Lemma: Let τ: 2 S 2 S be monotonic (thus - and -continuous, since S finite). Then: If X μq.τ(q) then μq.τ(q) = i τ i (X) If Y νq.τ(q) then νq.τ(q) = i τ i (Y) we can iterate from any approximation known to be below (above) the fixpoint

Emerson and Lei s algorithm Lemma: Let τ: 2 S 2 S be monotonic (thus - and -continuous, since S finite). Then: If X μq.τ(q) then μq.τ(q) = i τ i (X) If Y νq.τ(q) then νq.τ(q) = i τ i (Y) we can iterate from any approximation known to be below (above) the fixpoint In particular τ(false) τ j (False) i τ i (False)=μQ.τ(Q)

Emerson and Lei s algorithm Lemma: Let τ: 2 S 2 S be monotonic (thus - and -continuous, since S finite). Then: If X μq.τ(q) then μq.τ(q) = i τ i (X) If Y νq.τ(q) then νq.τ(q) = i τ i (Y) we can iterate from any approximation known to be below (above) the fixpoint In particular τ(false) τ j (False) i τ i (False)=μQ.τ(Q)

Emerson and Lei s algorithm Example: μx.μy. τ (X,Y) (τ is monotonic) Let ζ(x) = μy. τ (X,Y) so μx.μy. τ (X,Y) = μx. ζ(x)

Emerson and Lei s algorithm Example: μx.μy. τ (X,Y) (τ is monotonic) Let ζ(x) = μy. τ (X,Y) so μx.μy. τ (X,Y) = μx. ζ(x) The naïve algorithm: Iterate ζ(false) until ζ i (False) = ζ i+1 (False) ζ i+1 (False) = μy. τ (ζ i (False),Y) Iterate τ(ζ i (False),False) until τ j (ζ i (False),False) = τ j+1 (ζ i (False),False) Need O( S 2 ) iterations of τ

Emerson and Lei s algorithm Example: μx.μy. τ (X,Y) (τ is monotonic) ζ(x) = μy. τ (X,Y) μx.μy. τ (X,Y) = μx. ζ(x)

Emerson and Lei s algorithm Example: μx.μy. τ (X,Y) (τ is monotonic) ζ(x) = μy. τ (X,Y) μx.μy. τ (X,Y) = μx. ζ(x) Note that ζ i-1 (False) ζ i (False) and τ -continuous

Emerson and Lei s algorithm Example: μx.μy. τ (X,Y) (τ is monotonic) ζ(x) = μy. τ (X,Y) μx.μy. τ (X,Y) = μx. ζ(x) Note that ζ i-1 (False) ζ i (False) and τ -continuous μy. τ (ζ i-1 (False),Y) μy. τ (ζ i (False),Y) (*)

Emerson and Lei s algorithm Example: μx.μy. τ (X,Y) (τ is monotonic) ζ(x) = μy. τ (X,Y) μx.μy. τ (X,Y) = μx. ζ(x) Note that ζ i-1 (False) ζ i (False) and τ -continuous μy. τ (ζ i-1 (False),Y) μy. τ (ζ i (False),Y) (*) ζ i+1 (False) = μy. τ (ζ i (False),Y) = j τ j (ζ i (False),False)

Emerson and Lei s algorithm Example: μx.μy. τ (X,Y) (τ is monotonic) ζ(x) = μy. τ (X,Y) μx.μy. τ (X,Y) = μx. ζ(x) Note that ζ i-1 (False) ζ i (False) and τ -continuous μy. τ (ζ i-1 (False),Y) μy. τ (ζ i (False),Y) (*) ζ i+1 (False) = μy. τ (ζ i (False),Y) = j τ j (ζ i (False),False)

Emerson and Lei s algorithm Example: μx.μy. τ (X,Y) (τ is monotonic) ζ(x) = μy. τ (X,Y) μx.μy. τ (X,Y) = μx. ζ(x) Note that ζ i-1 (False) ζ i (False) and τ -continuous μy. τ (ζ i-1 (False),Y) μy. τ (ζ i (False),Y) (*) ζ i+1 (False) = μy. τ (ζ i (False),Y) = j τ j (ζ i (False),False)

Emerson and Lei s algorithm Example: μx.μy. τ (X,Y) (τ is monotonic) ζ(x) = μy. τ (X,Y) μx.μy. τ (X,Y) = μx. ζ(x) Note that ζ i-1 (False) ζ i (False) and τ -continuous μy. τ (ζ i-1 (False),Y) μy. τ (ζ i (False),Y) (*) ζ i+1 (False) = μy. τ (ζ i (False),Y) = j τ j (ζ i (False),False) by (*) and Lemma

Emerson and Lei s algorithm Example: μx.μy. τ (X,Y) (τ is monotonic) ζ(x) = μy. τ (X,Y) μx.μy. τ (X,Y) = μx. ζ(x) Note that ζ i-1 (False) ζ i (False) and τ -continuous μy. τ (ζ i-1 (False),Y) μy. τ (ζ i (False),Y) (*) ζ i+1 (False) = μy. τ (ζ i (False),Y) = j τ j (ζ i (False),False) by (*) and Lemma = j τ j (ζ i (False), μy. τ (ζ i-1 (False),Y))

Emerson and Lei s algorithm Example: μx.μy. τ (X,Y) (τ is monotonic) ζ(x) = μy. τ (X,Y) μx.μy. τ (X,Y) = μx. ζ(x) Note that ζ i-1 (False) ζ i (False) and τ -continuous μy. τ (ζ i-1 (False),Y) μy. τ (ζ i (False),Y) (*) ζ i+1 (False) = μy. τ (ζ i (False),Y) = j τ j (ζ i (False),False) by (*) and Lemma = j τ j (ζ i (False), μy. τ (ζ i-1 (False),Y))

Emerson and Lei s algorithm Example: μx.μy. τ (X,Y) (τ is monotonic) ζ(x) = μy. τ (X,Y) μx.μy. τ (X,Y) = μx. ζ(x) Note that ζ i-1 (False) ζ i (False) and τ -continuous μy. τ (ζ i-1 (False),Y) μy. τ (ζ i (False),Y) (*) ζ i+1 (False) = μy. τ (ζ i (False),Y) = j τ j (ζ i (False),False) by (*) and Lemma = j τ j (ζ i (False), μy. τ (ζ i-1 (False),Y)) No need to use Y=False! Only O( S ) iterations of τ.

Emerson and Lei s algorithm

Same as before Emerson and Lei s algorithm

Complexity Let d=ad(f) Since we need to start from False (True) only when μ and ν alternates, the complexity is O(( f S ) d )

Complexity Let d=ad(f) Since we need to start from False (True) only when μ and ν alternates, the complexity is O(( f S ) d ) Clarke et al. (CAV 1994) presented an algorithm with complexity O(( f S ) d/2+1 ) The Model Checking problem for the μ-calculus is in NP co-np

Other fixpoint theorems Brouwer fixpoint theorem (one-dimensional case) Every continuous f :[a,b] [a,b] has a fixpoint function f identity function fixpoint of f

Other fixpoint theorems Brouwer fixpoint theorem (one-dimensional case) Every continuous f :[a,b] [a,b] has a fixpoint

Other fixpoint theorems Brouwer fixpoint theorem (one-dimensional case) Every continuous f :[a,b] [a,b] has a fixpoint Proof: Define g(x)=f(x)-x. Then g(a) 0 and g(b) 0. By the intermediate value theorem, there is a point ξ in [a,b] such that g(ξ) = 0 = f(ξ) ξ. Thus ξ is a fixpoint for f.

Other fixpoint theorems Brouwer fixpoint theorem (generalizations) Every continuous function from a closed disk to itself has a fixpoint f

Other fixpoint theorems Brouwer fixpoint theorem (generalizations) Every continuous function from a closed ball of an Euclidean space to itself has a fixpoint

Other fixpoint theorems Brouwer fixpoint theorem (generalizations) Every continuous function from a closed ball of an Euclidean space to itself has a fixpoint Every continuous function from a convex compact subset K of an Euclidean space to K itself has a fixpoint

Other fixpoint theorems Banach Contraction Principle Say f:r n R n and d(x,y) = x-y for x,y R n. Suppose <1 such that d(f(x),f(y)) d(x,y) for all x,y R n (f is said to be a contraction). Then: f has a unique fixpoint u, and lim i f i (y) = u for each y R n.