Documentation

Mathlib.SetTheory.Ordinal.Rank

Rank in a well-founded relation #

For r a well-founded relation, IsWellFounded.rank r a is recursively defined as the least ordinal greater than the ranks of all elements below a.

Rank of an accessible value #

noncomputable def Acc.rank {α : Type u} {a : α} {r : ααProp} (h : Acc r a) :

The rank of an element a accessible under a relation r is defined recursively as the smallest ordinal greater than the ranks of all elements below it (i.e. elements b such that r b a).

Equations
Instances For
    theorem Acc.rank_eq {α : Type u} {a : α} {r : ααProp} (h : Acc r a) :
    h.rank = ⨆ (b : { b : α // r b a }), Order.succ .rank
    theorem Acc.rank_lt_of_rel {α : Type u} {a b : α} {r : ααProp} (hb : Acc r b) (h : r a b) :
    .rank < hb.rank

    if r a b then the rank of a is less than the rank of b.

    theorem Acc.mem_range_rank_of_le {α : Type u} {a : α} {r : ααProp} {o : Ordinal.{u}} (ha : Acc r a) (ho : o ha.rank) :
    ∃ (b : α) (hb : Acc r b), hb.rank = o

    Rank in a well-founded relation #

    noncomputable def IsWellFounded.rank {α : Type u} (r : ααProp) [hwf : IsWellFounded α r] (a : α) :

    The rank of an element a under a well-founded relation r is defined recursively as the smallest ordinal greater than the ranks of all elements below it (i.e. elements b such that r b a).

    Equations
    Instances For
      theorem IsWellFounded.rank_eq {α : Type u} (r : ααProp) [hwf : IsWellFounded α r] (a : α) :
      IsWellFounded.rank r a = ⨆ (b : { b : α // r b a }), Order.succ (IsWellFounded.rank r b)
      theorem IsWellFounded.rank_lt_of_rel {α : Type u} {a b : α} {r : ααProp} [hwf : IsWellFounded α r] (h : r a b) :
      theorem IsWellFounded.mem_range_rank_of_le {α : Type u} {a : α} {r : ααProp} [hwf : IsWellFounded α r] {o : Ordinal.{u}} (h : o IsWellFounded.rank r a) :
      theorem WellFoundedLT.rank_strictMono {α : Type u} [Preorder α] [WellFoundedLT α] :
      StrictMono (IsWellFounded.rank fun (x1 x2 : α) => x1 < x2)
      theorem WellFoundedGT.rank_strictAnti {α : Type u} [Preorder α] [WellFoundedGT α] :
      StrictAnti (IsWellFounded.rank fun (x1 x2 : α) => x1 > x2)
      @[simp]
      theorem IsWellFounded.rank_eq_typein {α : Type u} (r : ααProp) [IsWellOrder α r] :
      IsWellFounded.rank r = (Ordinal.typein r).toRelEmbedding
      @[deprecated IsWellFounded.rank]
      noncomputable def WellFounded.rank {α : Type u} {r : ααProp} (hwf : WellFounded r) (a : α) :

      The rank of an element a under a well-founded relation r is defined inductively as the smallest ordinal greater than the ranks of all elements below it (i.e. elements b such that r b a).

      Equations
      • hwf.rank a = .rank
      Instances For
        @[deprecated IsWellFounded.rank_eq]
        theorem WellFounded.rank_eq {α : Type u} {a : α} {r : ααProp} (hwf : WellFounded r) :
        hwf.rank a = ⨆ (b : { b : α // r b a }), Order.succ (hwf.rank b)
        @[deprecated IsWellFounded.rank_lt_of_rel]
        theorem WellFounded.rank_lt_of_rel {α : Type u} {a b : α} {r : ααProp} (hwf : WellFounded r) (h : r a b) :
        hwf.rank a < hwf.rank b
        @[deprecated WellFoundedLT.rank_strictMono]
        @[deprecated WellFoundedGT.rank_strictAnti]