Module docstring
{"# Finiteness and infiniteness of Finsupp
Some lemmas on the combination of Finsupp, Fintype and Infinite.
"}
{"# Finiteness and infiniteness of Finsupp
Some lemmas on the combination of Finsupp, Fintype and Infinite.
"}
Finsupp.fintype
      instance
     : Fintype (ι →₀ α)
        noncomputable instance Finsupp.fintype : Fintype (ι →₀ α) :=
  Fintype.ofEquiv _ Finsupp.equivFunOnFinite.symm
        Finsupp.infinite_of_left
      instance
     [Nontrivial α] [Infinite ι] : Infinite (ι →₀ α)
        instance Finsupp.infinite_of_left [Nontrivial α] [Infinite ι] : Infinite (ι →₀ α) :=
  let ⟨_, hm⟩ := exists_ne (0 : α)
  Infinite.of_injective _ <| Finsupp.single_left_injective hm
        Finsupp.infinite_of_right
      instance
     [Infinite α] [Nonempty ι] : Infinite (ι →₀ α)
        instance Finsupp.infinite_of_right [Infinite α] [Nonempty ι] : Infinite (ι →₀ α) :=
  Infinite.of_injective (fun i => Finsupp.single (Classical.arbitrary ι) i)
    (Finsupp.single_injective (Classical.arbitrary ι))
        Fintype.card_finsupp
      theorem
     : card (ι →₀ α) = card α ^ card ι
        @[simp] lemma Fintype.card_finsupp : card (ι →₀ α) = card α ^ card ι := by
  simp [card_congr Finsupp.equivFunOnFinite]