File: Mathlib/Data/DFinsupp/Interval.lean

full_name: Finset.dfinsupp
code: /-- Finitely supported product of finsets. -/
def dfinsupp (s : Finset ι) (t : ∀ i, Finset (α i)) : Finset (Π₀ i, α i) 
goal: Finset (Π₀ (i : ι), α i)

full_name: Finset.card_dfinsupp
code: @[simp]
theorem card_dfinsupp (s : Finset ι) (t : ∀ i, Finset (α i)) :
    (s.dfinsupp t).card = ∏ i ∈ s, (t i).card 
goal: (s.dfinsupp t).card = ∏ i ∈ s, (t i).card

full_name: Finset.mem_dfinsupp_iff
code: theorem mem_dfinsupp_iff : f ∈ s.dfinsupp t ↔ f.support ⊆ s ∧ ∀ i ∈ s, f i ∈ t i 
goal: f ∈ s.dfinsupp t ↔ f.support ⊆ s ∧ ∀ i ∈ s, f i ∈ t i

full_name: Finset.mem_dfinsupp_iff_of_support_subset
code: /-- When `t` is supported on `s`, `f ∈ s.dfinsupp t` precisely means that `f` is pointwise in `t`.
-/
@[simp]
theorem mem_dfinsupp_iff_of_support_subset {t : Π₀ i, Finset (α i)} (ht : t.support ⊆ s) :
    f ∈ s.dfinsupp t ↔ ∀ i, f i ∈ t i 
goal: f ∈ s.dfinsupp ⇑t ↔ ∀ (i : ι), f i ∈ t i

full_name: DFinsupp.singleton
code: /-- Pointwise `Finset.singleton` bundled as a `DFinsupp`. -/
def singleton (f : Π₀ i, α i) : Π₀ i, Finset (α i) 
goal: Π₀ (i : ι), Finset (α i)

full_name: DFinsupp.mem_singleton_apply_iff
code: theorem mem_singleton_apply_iff : a ∈ f.singleton i ↔ a = f i 
goal: a ∈ f.singleton i ↔ a = f i

full_name: DFinsupp.rangeIcc
code: /-- Pointwise `Finset.Icc` bundled as a `DFinsupp`. -/
def rangeIcc (f g : Π₀ i, α i) : Π₀ i, Finset (α i) 
goal: Π₀ (i : ι), Finset (α i)

full_name: DFinsupp.rangeIcc_apply
code: @[simp]
theorem rangeIcc_apply (f g : Π₀ i, α i) (i : ι) : f.rangeIcc g i = Icc (f i) (g i) 
goal: (f.rangeIcc g) i = Finset.Icc (f i) (g i)

full_name: DFinsupp.mem_rangeIcc_apply_iff
code: theorem mem_rangeIcc_apply_iff : a ∈ f.rangeIcc g i ↔ f i ≤ a ∧ a ≤ g i 
goal: a ∈ (f.rangeIcc g) i ↔ f i ≤ a ∧ a ≤ g i

full_name: DFinsupp.support_rangeIcc_subset
code: theorem support_rangeIcc_subset [DecidableEq ι] [∀ i, DecidableEq (α i)] :
    (f.rangeIcc g).support ⊆ f.support ∪ g.support 
goal: (f.rangeIcc g).support ⊆ f.support ∪ g.support

full_name: DFinsupp.pi
code: /-- 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`. -/
def pi (f : Π₀ i, Finset (α i)) : Finset (Π₀ i, α i) 
goal: Finset (Π₀ (i : ι), α i)

full_name: DFinsupp.mem_pi
code: @[simp]
theorem mem_pi {f : Π₀ i, Finset (α i)} {g : Π₀ i, α i} : g ∈ f.pi ↔ ∀ i, g i ∈ f i 
goal: g ∈ f.pi ↔ ∀ (i : ι), g i ∈ f i

full_name: DFinsupp.card_pi
code: @[simp]
theorem card_pi (f : Π₀ i, Finset (α i)) : f.pi.card = f.prod fun i => (f i).card 
goal: f.pi.card = f.prod fun i => ↑(f i).card

full_name: DFinsupp.instLocallyFiniteOrder
code: instance instLocallyFiniteOrder : LocallyFiniteOrder (Π₀ i, α i) 
goal: LocallyFiniteOrder (Π₀ (i : ι), α i)

full_name: DFinsupp.Icc_eq
code: theorem Icc_eq : Icc f g = (f.support ∪ g.support).dfinsupp (f.rangeIcc g) 
goal: Finset.Icc f g = (f.support ∪ g.support).dfinsupp ⇑(f.rangeIcc g)

full_name: DFinsupp.card_Icc
code: theorem card_Icc : (Icc f g).card = ∏ i ∈ f.support ∪ g.support, (Icc (f i) (g i)).card 
goal: (Finset.Icc f g).card = ∏ i ∈ f.support ∪ g.support, (Finset.Icc (f i) (g i)).card

full_name: DFinsupp.card_Ico
code: theorem card_Ico : (Ico f g).card = (∏ i ∈ f.support ∪ g.support, (Icc (f i) (g i)).card) - 1 
goal: (Finset.Ico f g).card = ∏ i ∈ f.support ∪ g.support, (Finset.Icc (f i) (g i)).card - 1

full_name: DFinsupp.card_Ioc
code: theorem card_Ioc : (Ioc f g).card = (∏ i ∈ f.support ∪ g.support, (Icc (f i) (g i)).card) - 1 
goal: (Finset.Ioc f g).card = ∏ i ∈ f.support ∪ g.support, (Finset.Icc (f i) (g i)).card - 1

full_name: DFinsupp.card_Ioo
code: theorem card_Ioo : (Ioo f g).card = (∏ i ∈ f.support ∪ g.support, (Icc (f i) (g i)).card) - 2 
goal: (Finset.Ioo f g).card = ∏ i ∈ f.support ∪ g.support, (Finset.Icc (f i) (g i)).card - 2

full_name: DFinsupp.card_uIcc
code: theorem card_uIcc : (uIcc f g).card = ∏ i ∈ f.support ∪ g.support, (uIcc (f i) (g i)).card 
goal: (Finset.uIcc f g).card = ∏ i ∈ f.support ∪ g.support, (Finset.uIcc (f i) (g i)).card

full_name: DFinsupp.card_Iic
code: theorem card_Iic : (Iic f).card = ∏ i ∈ f.support, (Iic (f i)).card 
goal: (Finset.Iic f).card = ∏ i ∈ f.support, (Finset.Iic (f i)).card

full_name: DFinsupp.card_Iio
code: theorem card_Iio : (Iio f).card = (∏ i ∈ f.support, (Iic (f i)).card) - 1 
goal: (Finset.Iio f).card = ∏ i ∈ f.support, (Finset.Iic (f i)).card - 1