Documentation

Mathlib.Data.DFinsupp.Interval

Finite intervals of finitely supported functions #

This file provides the LocallyFiniteOrder instance for Π₀ i, α i when α itself is locally finite and calculates the cardinality of its finite intervals.

def Finset.dfinsupp {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → Zero (α i)] (s : Finset ι) (t : (i : ι) → Finset (α i)) :
Finset (Π₀ (i : ι), α i)

Finitely supported product of finsets.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem Finset.card_dfinsupp {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → Zero (α i)] (s : Finset ι) (t : (i : ι) → Finset (α i)) :
    (Finset.dfinsupp s t).card = Finset.prod s fun (i : ι) => (t i).card
    theorem Finset.mem_dfinsupp_iff {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → Zero (α i)] {s : Finset ι} {f : Π₀ (i : ι), α i} {t : (i : ι) → Finset (α i)} [(i : ι) → DecidableEq (α i)] :
    f Finset.dfinsupp s t DFinsupp.support f s is, f i t i
    @[simp]
    theorem Finset.mem_dfinsupp_iff_of_support_subset {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → Zero (α i)] {s : Finset ι} {f : Π₀ (i : ι), α i} [(i : ι) → DecidableEq (α i)] {t : Π₀ (i : ι), Finset (α i)} (ht : DFinsupp.support t s) :
    f Finset.dfinsupp s t ∀ (i : ι), f i t i

    When t is supported on s, f ∈ s.dfinsupp t precisely means that f is pointwise in t.

    def DFinsupp.singleton {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] (f : Π₀ (i : ι), α i) :
    Π₀ (i : ι), Finset (α i)

    Pointwise Finset.singleton bundled as a DFinsupp.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem DFinsupp.mem_singleton_apply_iff {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] {f : Π₀ (i : ι), α i} {i : ι} {a : α i} :
      a (DFinsupp.singleton f) i a = f i
      def DFinsupp.rangeIcc {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) :
      Π₀ (i : ι), Finset (α i)

      Pointwise Finset.Icc bundled as a DFinsupp.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem DFinsupp.rangeIcc_apply {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) (i : ι) :
        (DFinsupp.rangeIcc f g) i = Finset.Icc (f i) (g i)
        theorem DFinsupp.mem_rangeIcc_apply_iff {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → LocallyFiniteOrder (α i)] {f : Π₀ (i : ι), α i} {g : Π₀ (i : ι), α i} {i : ι} {a : α i} :
        a (DFinsupp.rangeIcc f g) i f i a a g i
        theorem DFinsupp.support_rangeIcc_subset {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → LocallyFiniteOrder (α i)] {f : Π₀ (i : ι), α i} {g : Π₀ (i : ι), α i} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] :
        def DFinsupp.pi {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [DecidableEq ι] [(i : ι) → DecidableEq (α i)] (f : Π₀ (i : ι), Finset (α i)) :
        Finset (Π₀ (i : ι), α i)

        Given a finitely supported function f : Π₀ i, Finset (α i), one can define the finset f.pi of all finitely supported functions whose value at i is in f i for all i.

        Equations
        Instances For
          @[simp]
          theorem DFinsupp.mem_pi {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [DecidableEq ι] [(i : ι) → DecidableEq (α i)] {f : Π₀ (i : ι), Finset (α i)} {g : Π₀ (i : ι), α i} :
          g DFinsupp.pi f ∀ (i : ι), g i f i
          @[simp]
          theorem DFinsupp.card_pi {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [DecidableEq ι] [(i : ι) → DecidableEq (α i)] (f : Π₀ (i : ι), Finset (α i)) :
          (DFinsupp.pi f).card = DFinsupp.prod f fun (i : ι) => (f i).card
          instance DFinsupp.instLocallyFiniteOrderDFinsuppInstPreorderDFinsuppToPreorder {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] :
          LocallyFiniteOrder (Π₀ (i : ι), α i)
          Equations
          • One or more equations did not get rendered due to their size.
          theorem DFinsupp.Icc_eq {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) :
          theorem DFinsupp.card_Icc {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) :
          (Finset.Icc f g).card = Finset.prod (DFinsupp.support f DFinsupp.support g) fun (i : ι) => (Finset.Icc (f i) (g i)).card
          theorem DFinsupp.card_Ico {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) :
          (Finset.Ico f g).card = (Finset.prod (DFinsupp.support f DFinsupp.support g) fun (i : ι) => (Finset.Icc (f i) (g i)).card) - 1
          theorem DFinsupp.card_Ioc {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) :
          (Finset.Ioc f g).card = (Finset.prod (DFinsupp.support f DFinsupp.support g) fun (i : ι) => (Finset.Icc (f i) (g i)).card) - 1
          theorem DFinsupp.card_Ioo {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) :
          (Finset.Ioo f g).card = (Finset.prod (DFinsupp.support f DFinsupp.support g) fun (i : ι) => (Finset.Icc (f i) (g i)).card) - 2
          theorem DFinsupp.card_uIcc {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → Lattice (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) :
          (Finset.uIcc f g).card = Finset.prod (DFinsupp.support f DFinsupp.support g) fun (i : ι) => (Finset.uIcc (f i) (g i)).card
          theorem DFinsupp.card_Iic {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f : Π₀ (i : ι), α i) :
          (Finset.Iic f).card = Finset.prod (DFinsupp.support f) fun (i : ι) => (Finset.Iic (f i)).card
          theorem DFinsupp.card_Iio {ι : Type u_1} {α : ιType u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f : Π₀ (i : ι), α i) :
          (Finset.Iio f).card = (Finset.prod (DFinsupp.support f) fun (i : ι) => (Finset.Iic (f i)).card) - 1