Restriction of a function indexed by a preorder #
Given a preorder α and dependent function f : (i : α) → π i and a : α, one might want
to consider the restriction of f to elements ≤ a.
This is defined in this file as Preorder.restrictLe a f.
Similarly, if we have a b : α, hab : a ≤ b and f : (i : ↑(Set.Iic b)) → π ↑i,
one might want to restrict it to elements ≤ a.
This is defined in this file as Preorder.restrictLe₂ hab f.
We also provide versions where the intervals are seen as finite sets, see Preorder.frestrictLe
and Preorder.frestrictLe₂.
Main definitions #
Preorder.restrictLe a f: Restricts the functionfto the variables indexed by elements≤ a.
@[simp]
theorem Preorder.restrictLe_apply {α : Type u_1} [Preorder α] {π : α → Type u_2} (a : α) (f : (a : α) → π a) (i : ↑(Set.Iic a)) :
theorem Preorder.restrictLe₂_comp_restrictLe {α : Type u_1} [Preorder α] {π : α → Type u_2} {a b : α} (hab : a ≤ b) :
theorem Preorder.dependsOn_restrictLe {α : Type u_1} [Preorder α] {π : α → Type u_2} (a : α) :
DependsOn (restrictLe a) (Set.Iic a)
def Preorder.frestrictLe {α : Type u_1} [Preorder α] {π : α → Type u_2} [LocallyFiniteOrderBot α] (a : α) (f : (i : α) → π i) (i : ↥(Finset.Iic a)) :
π ↑i
Restrict domain of a function f indexed by α to elements ≤ a, seen as a finite set.
Instances For
@[simp]
theorem Preorder.frestrictLe_apply {α : Type u_1} [Preorder α] {π : α → Type u_2} [LocallyFiniteOrderBot α] (a : α) (f : (a : α) → π a) (i : ↥(Finset.Iic a)) :
def Preorder.frestrictLe₂ {α : Type u_1} [Preorder α] {π : α → Type u_2} [LocallyFiniteOrderBot α] {a b : α} (hab : a ≤ b) (f : (i : ↥(Finset.Iic b)) → π ↑i) (i : ↥(Finset.Iic a)) :
π ↑i
If a function f indexed by α is restricted to elements ≤ b, and a ≤ b,
this is the restriction to elements ≤ b. Intervals are seen as finite sets.
Instances For
@[simp]
theorem Preorder.frestrictLe₂_apply {α : Type u_1} [Preorder α] {π : α → Type u_2} [LocallyFiniteOrderBot α] {a b : α} (hab : a ≤ b) (f : (i : ↥(Finset.Iic b)) → π ↑i) (i : ↥(Finset.Iic a)) :
theorem Preorder.frestrictLe₂_comp_frestrictLe {α : Type u_1} [Preorder α] {π : α → Type u_2} [LocallyFiniteOrderBot α] {a b : α} (hab : a ≤ b) :
theorem Preorder.frestrictLe₂_comp_frestrictLe₂ {α : Type u_1} [Preorder α] {π : α → Type u_2} [LocallyFiniteOrderBot α] {a b c : α} (hab : a ≤ b) (hbc : b ≤ c) :
theorem Preorder.piCongrLeft_comp_restrictLe {α : Type u_1} [Preorder α] {π : α → Type u_2} [LocallyFiniteOrderBot α] {a : α} :
⇑(Equiv.piCongrLeft (fun (i : ↥(Finset.Iic a)) => π ↑i) (Equiv.IicFinsetSet a).symm) ∘ restrictLe a = frestrictLe a
theorem Preorder.piCongrLeft_comp_frestrictLe {α : Type u_1} [Preorder α] {π : α → Type u_2} [LocallyFiniteOrderBot α] {a : α} :
⇑(Equiv.piCongrLeft (fun (i : ↑(Set.Iic a)) => π ↑i) (Equiv.IicFinsetSet a)) ∘ frestrictLe a = restrictLe a
theorem Preorder.frestrictLe_updateFinset_of_le {α : Type u_1} [Preorder α] {π : α → Type u_2} [LocallyFiniteOrderBot α] [DecidableEq α] {a b : α} (hab : a ≤ b) (x : (c : α) → π c) (y : (c : ↥(Finset.Iic b)) → π ↑c) :
theorem Preorder.frestrictLe_updateFinset {α : Type u_1} [Preorder α] {π : α → Type u_2} [LocallyFiniteOrderBot α] [DecidableEq α] {a : α} (x : (a : α) → π a) (y : (b : ↥(Finset.Iic a)) → π ↑b) :
@[simp]
theorem Preorder.updateFinset_frestrictLe {α : Type u_1} [Preorder α] {π : α → Type u_2} [LocallyFiniteOrderBot α] [DecidableEq α] (a : α) (x : (a : α) → π a) :
theorem Preorder.dependsOn_frestrictLe {α : Type u_1} [Preorder α] {π : α → Type u_2} [LocallyFiniteOrderBot α] (a : α) :
DependsOn (frestrictLe a) (Set.Iic a)