Finite intervals of finitely supported functions #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file provides the locally_finite_order 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}
    [decidable_eq ι]
    [Π (i : ι), has_zero (α i)]
    (s : finset ι)
    (t : Π (i : ι), finset (α i)) :
Finitely supported product of finsets.
@[simp]
    
theorem
finset.mem_dfinsupp_iff_of_support_subset
    {ι : Type u_1}
    {α : ι → Type u_2}
    [decidable_eq ι]
    [Π (i : ι), has_zero (α i)]
    {s : finset ι}
    {f : Π₀ (i : ι), α i}
    [Π (i : ι), decidable_eq (α i)]
    {t : Π₀ (i : ι), finset (α i)}
    (ht : t.support ⊆ s) :
When t is supported on s, f ∈ s.dfinsupp t precisely means that f is pointwise in t.
    
def
dfinsupp.range_Icc
    {ι : Type u_1}
    {α : ι → Type u_2}
    [Π (i : ι), has_zero (α i)]
    [Π (i : ι), partial_order (α i)]
    [Π (i : ι), locally_finite_order (α i)]
    (f g : Π₀ (i : ι), α i) :
Pointwise finset.Icc bundled as a dfinsupp.
@[simp]
    
theorem
dfinsupp.range_Icc_apply
    {ι : Type u_1}
    {α : ι → Type u_2}
    [Π (i : ι), has_zero (α i)]
    [Π (i : ι), partial_order (α i)]
    [Π (i : ι), locally_finite_order (α i)]
    (f g : Π₀ (i : ι), α i)
    (i : ι) :
    
theorem
dfinsupp.support_range_Icc_subset
    {ι : Type u_1}
    {α : ι → Type u_2}
    [Π (i : ι), has_zero (α i)]
    [Π (i : ι), partial_order (α i)]
    [Π (i : ι), locally_finite_order (α i)]
    {f g : Π₀ (i : ι), α i}
    [decidable_eq ι]
    [Π (i : ι), decidable_eq (α i)] :
    
def
dfinsupp.pi
    {ι : Type u_1}
    {α : ι → Type u_2}
    [Π (i : ι), has_zero (α i)]
    [decidable_eq ι]
    [Π (i : ι), decidable_eq (α i)]
    (f : Π₀ (i : ι), finset (α 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.
@[protected, instance]
    
def
dfinsupp.locally_finite_order
    {ι : Type u_1}
    {α : ι → Type u_2}
    [decidable_eq ι]
    [Π (i : ι), decidable_eq (α i)]
    [Π (i : ι), partial_order (α i)]
    [Π (i : ι), has_zero (α i)]
    [Π (i : ι), locally_finite_order (α i)] :
    
locally_finite_order (Π₀ (i : ι), α i)
    
theorem
dfinsupp.Icc_eq
    {ι : Type u_1}
    {α : ι → Type u_2}
    [decidable_eq ι]
    [Π (i : ι), decidable_eq (α i)]
    [Π (i : ι), partial_order (α i)]
    [Π (i : ι), has_zero (α i)]
    [Π (i : ι), locally_finite_order (α i)]
    (f g : Π₀ (i : ι), α i) :
    
theorem
dfinsupp.card_Icc
    {ι : Type u_1}
    {α : ι → Type u_2}
    [decidable_eq ι]
    [Π (i : ι), decidable_eq (α i)]
    [Π (i : ι), partial_order (α i)]
    [Π (i : ι), has_zero (α i)]
    [Π (i : ι), locally_finite_order (α i)]
    (f g : Π₀ (i : ι), α i) :
    
theorem
dfinsupp.card_Ico
    {ι : Type u_1}
    {α : ι → Type u_2}
    [decidable_eq ι]
    [Π (i : ι), decidable_eq (α i)]
    [Π (i : ι), partial_order (α i)]
    [Π (i : ι), has_zero (α i)]
    [Π (i : ι), locally_finite_order (α i)]
    (f g : Π₀ (i : ι), α i) :
    
theorem
dfinsupp.card_Ioc
    {ι : Type u_1}
    {α : ι → Type u_2}
    [decidable_eq ι]
    [Π (i : ι), decidable_eq (α i)]
    [Π (i : ι), partial_order (α i)]
    [Π (i : ι), has_zero (α i)]
    [Π (i : ι), locally_finite_order (α i)]
    (f g : Π₀ (i : ι), α i) :
    
theorem
dfinsupp.card_Ioo
    {ι : Type u_1}
    {α : ι → Type u_2}
    [decidable_eq ι]
    [Π (i : ι), decidable_eq (α i)]
    [Π (i : ι), partial_order (α i)]
    [Π (i : ι), has_zero (α i)]
    [Π (i : ι), locally_finite_order (α i)]
    (f g : Π₀ (i : ι), α i) :
    
theorem
dfinsupp.card_uIcc
    {ι : Type u_1}
    {α : ι → Type u_2}
    [decidable_eq ι]
    [Π (i : ι), decidable_eq (α i)]
    [Π (i : ι), lattice (α i)]
    [Π (i : ι), has_zero (α i)]
    [Π (i : ι), locally_finite_order (α i)]
    (f g : Π₀ (i : ι), α i) :
    
theorem
dfinsupp.card_Iic
    {ι : Type u_1}
    {α : ι → Type u_2}
    [decidable_eq ι]
    [Π (i : ι), decidable_eq (α i)]
    [Π (i : ι), canonically_ordered_add_monoid (α i)]
    [Π (i : ι), locally_finite_order (α i)]
    (f : Π₀ (i : ι), α i) :
(finset.Iic f).card = f.support.prod (λ (i : ι), (finset.Iic (⇑f i)).card)
    
theorem
dfinsupp.card_Iio
    {ι : Type u_1}
    {α : ι → Type u_2}
    [decidable_eq ι]
    [Π (i : ι), decidable_eq (α i)]
    [Π (i : ι), canonically_ordered_add_monoid (α i)]
    [Π (i : ι), locally_finite_order (α i)]
    (f : Π₀ (i : ι), α i) :
(finset.Iio f).card = f.support.prod (λ (i : ι), (finset.Iic (⇑f i)).card) - 1