# mathlibdocumentation

dynamics.fixed_points.basic

# Fixed points of a self-map

In this file we define

• the predicate is_fixed_pt f x := f x = x;
• the set fixed_points f of fixed points of a self-map f.

We also prove some simple lemmas about is_fixed_pt and ∘, iterate, and semiconj.

## Tags

fixed point

def function.is_fixed_pt {α : Type u} :
(α → α)α → Prop

A point x is a fixed point of f : α → α if f x = x.

Equations
• = (f x = x)
theorem function.is_fixed_pt_id {α : Type u} (x : α) :

Every point is a fixed point of id.

@[instance]
def function.is_fixed_pt.decidable {α : Type u} [h : decidable_eq α] {f : α → α} {x : α} :

Equations
theorem function.is_fixed_pt.eq {α : Type u} {f : α → α} {x : α} :
f x = x

If x is a fixed point of f, then f x = x. This is useful, e.g., for rw or simp.

theorem function.is_fixed_pt.comp {α : Type u} {f g : α → α} {x : α} :
function.is_fixed_pt (f g) x

If x is a fixed point of f and g, then it is a fixed point of f ∘ g.

theorem function.is_fixed_pt.iterate {α : Type u} {f : α → α} {x : α} (hf : x) (n : ) :

If x is a fixed point of f, then it is a fixed point of f^[n].

theorem function.is_fixed_pt.left_of_comp {α : Type u} {f g : α → α} {x : α} :

If x is a fixed point of f ∘ g and g, then it is a fixed point of f.

theorem function.is_fixed_pt.to_left_inverse {α : Type u} {f g : α → α} {x : α} :

If x is a fixed point of f and g is a left inverse of f, then x is a fixed point of g.

theorem function.is_fixed_pt.map {α : Type u} {β : Type v} {fa : α → α} {fb : β → β} {x : α} (hx : x) {g : α → β} :
fb (g x)

If g (semi)conjugates fa to fb, then it sends fixed points of fa to fixed points of fb.

def function.fixed_points {α : Type u} :
(α → α)set α

The set of fixed points of a map f : α → α.

Equations
• = {x : α |
@[instance]
def function.fixed_points.decidable {α : Type u} [decidable_eq α] (f : α → α) (x : α) :

Equations
@[simp]
theorem function.mem_fixed_points {α : Type u} {f : α → α} {x : α} :

theorem function.semiconj.maps_to_fixed_pts {α : Type u} {β : Type v} {fa : α → α} {fb : β → β} {g : α → β} :
fb

If g semiconjugates fa to fb, then it sends fixed points of fa to fixed points of fb.

theorem function.inv_on_fixed_pts_comp {α : Type u} {β : Type v} (f : α → β) (g : β → α) :

Any two maps f : α → β and g : β → α are inverse of each other on the sets of fixed points of f ∘ g and g ∘ f, respectively.

theorem function.maps_to_fixed_pts_comp {α : Type u} {β : Type v} (f : α → β) (g : β → α) :

Any map f sends fixed points of g ∘ f to fixed points of f ∘ g.

theorem function.bij_on_fixed_pts_comp {α : Type u} {β : Type v} (f : α → β) (g : β → α) :

Given two maps f : α → β and g : β → α, g is a bijective map between the fixed points of f ∘ g and the fixed points of g ∘ f. The inverse map is f, see inv_on_fixed_pts_comp.

theorem function.commute.inv_on_fixed_pts_comp {α : Type u} {f g : α → α} :

If self-maps f and g commute, then they are inverse of each other on the set of fixed points of f ∘ g. This is a particular case of function.inv_on_fixed_pts_comp.

theorem function.commute.left_bij_on_fixed_pts_comp {α : Type u} {f g : α → α} :

If self-maps f and g commute, then f is bijective on the set of fixed points of f ∘ g. This is a particular case of function.bij_on_fixed_pts_comp.

theorem function.commute.right_bij_on_fixed_pts_comp {α : Type u} {f g : α → α} :

If self-maps f and g commute, then g is bijective on the set of fixed points of f ∘ g. This is a particular case of function.bij_on_fixed_pts_comp.