Documentation

Mathlib.Order.RelIso.Set

Interactions between relation homomorphisms and sets #

It is likely that there are better homes for many of these statement, in files further down the import graph.

theorem RelHomClass.map_inf {α : Type u_1} {β : Type u_2} {F : Type u_3} [SemilatticeInf α] [LinearOrder β] [FunLike F β α] [RelHomClass F (fun (x1 x2 : β) => x1 < x2) fun (x1 x2 : α) => x1 < x2] (a : F) (m n : β) :
a (m ⊓ n) = a m ⊓ a n
theorem RelHomClass.map_sup {α : Type u_1} {β : Type u_2} {F : Type u_3} [SemilatticeSup α] [LinearOrder β] [FunLike F β α] [RelHomClass F (fun (x1 x2 : β) => x1 > x2) fun (x1 x2 : α) => x1 > x2] (a : F) (m n : β) :
a (m ⊔ n) = a m ⊔ a n
theorem RelHomClass.directed {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} {F : Type u_3} [FunLike F α β] [RelHomClass F r s] {ι : Sort u_4} {a : ι → α} {f : F} (ha : Directed r a) :
Directed s (⇑f ∘ a)
theorem RelHomClass.directedOn {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} {F : Type u_3} [FunLike F α β] [RelHomClass F r s] {f : F} {t : Set α} (hs : DirectedOn r t) :
DirectedOn s (⇑f '' t)
theorem RelIso.range_eq {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} (e : r ≃r s) :
def Subrel {α : Type u_1} (r : α → α → Prop) (p : α → Prop) :
Subtype p → Subtype p → Prop

Subrel r p is the inherited relation on a subtype.

We could also consider a Set.Subrel r s variant for dot notation, but this ends up interacting poorly with simpNF.

Equations
Instances For
    @[simp]
    theorem subrel_val {α : Type u_1} (r : α → α → Prop) (p : α → Prop) {a b : Subtype p} :
    Subrel r p a b ↔ r ↑a ↑b
    def Subrel.relEmbedding {α : Type u_1} (r : α → α → Prop) (p : α → Prop) :
    Subrel r p ↪r r

    The relation embedding from the inherited relation on a subset.

    Equations
    Instances For
      @[simp]
      theorem Subrel.relEmbedding_apply {α : Type u_1} (r : α → α → Prop) (p : α → Prop) (a : Subtype p) :
      (Subrel.relEmbedding r p) a = ↑a
      def Subrel.inclusionEmbedding {α : Type u_1} (r : α → α → Prop) {s t : Set α} (h : s ⊆ t) :
      (Subrel r fun (x : α) => x ∈ s) ↪r Subrel r fun (x : α) => x ∈ t

      Set.inclusion as a relation embedding.

      Equations
      Instances For
        @[simp]
        theorem Subrel.coe_inclusionEmbedding {α : Type u_1} (r : α → α → Prop) {s t : Set α} (h : s ⊆ t) :
        instance Subrel.instIsReflSubtype {α : Type u_1} (r : α → α → Prop) [IsRefl α r] (p : α → Prop) :
        instance Subrel.instIsSymmSubtype {α : Type u_1} (r : α → α → Prop) [IsSymm α r] (p : α → Prop) :
        instance Subrel.instIsAsymmSubtype {α : Type u_1} (r : α → α → Prop) [IsAsymm α r] (p : α → Prop) :
        instance Subrel.instIsTransSubtype {α : Type u_1} (r : α → α → Prop) [IsTrans α r] (p : α → Prop) :
        instance Subrel.instIsIrreflSubtype {α : Type u_1} (r : α → α → Prop) [IsIrrefl α r] (p : α → Prop) :
        instance Subrel.instIsTrichotomousSubtype {α : Type u_1} (r : α → α → Prop) [IsTrichotomous α r] (p : α → Prop) :
        instance Subrel.instIsWellFoundedSubtype {α : Type u_1} (r : α → α → Prop) [IsWellFounded α r] (p : α → Prop) :
        instance Subrel.instIsPreorderSubtype {α : Type u_1} (r : α → α → Prop) [IsPreorder α r] (p : α → Prop) :
        instance Subrel.instIsStrictOrderSubtype {α : Type u_1} (r : α → α → Prop) [IsStrictOrder α r] (p : α → Prop) :
        instance Subrel.instIsWellOrderSubtype {α : Type u_1} (r : α → α → Prop) [IsWellOrder α r] (p : α → Prop) :
        def RelEmbedding.codRestrict {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} (p : Set β) (f : r ↪r s) (H : ∀ (a : α), f a ∈ p) :
        r ↪r Subrel s fun (x : β) => x ∈ p

        Restrict the codomain of a relation embedding.

        Equations
        Instances For
          @[simp]
          theorem RelEmbedding.codRestrict_apply {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} (p : Set β) (f : r ↪r s) (H : ∀ (a : α), f a ∈ p) (a : α) :
          (codRestrict p f H) a = ⟨f a, ⋯⟩
          theorem RelIso.image_eq_preimage_symm {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} (e : r ≃r s) (t : Set α) :
          ⇑e '' t = ⇑e.symm ⁻¹' t
          theorem RelIso.preimage_eq_image_symm {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} (e : r ≃r s) (t : Set β) :
          ⇑e ⁻¹' t = ⇑e.symm '' t
          theorem Acc.of_subrel {α : Type u_1} {r : α → α → Prop} [IsTrans α r] {b : α} (a : { a : α // r a b }) (h : Acc (Subrel r fun (x : α) => r x b) a) :
          Acc r ↑a
          theorem wellFounded_iff_wellFounded_subrel {α : Type u_1} {r : α → α → Prop} [IsTrans α r] :
          WellFounded r ↔ ∀ (b : α), WellFounded (Subrel r fun (x : α) => r x b)

          A relation r is well-founded iff every downward-interval { a | r a b } of it is well-founded.