Zulip Chat Archive

Stream: new members

Topic: induction over a finite set


Yoh Tanimoto (Apr 12 2024 at 09:24):

Hello!
How can one do an induction over a finite set, say 1 ≤ m ≤ nfor a fixed n : ℕ?
I could take m and impose m ≤ n, but is there a canonical way? Specifically, I would like to prove the following.

import Mathlib
open BigOperators

variable (n : )
def f : (Fin n  C(, ))  Fin n  C(, ) := fun g i => ( j in {l : Fin n | l.1 < i.1}.toFinset, (1 - g j)) * g i

example {n : } {g : Fin n  C(, )} (m : ) (hm : m < n) :
    ( j in {l : Fin n | l.1  m}.toFinset, (f n g) j) = 1 - ( j in {l : Fin n | l.1  m - 1}.toFinset, (1 - g j)) := by
  induction' m with m ihm
  · sorry
  · sorry

Kevin Buzzard (Apr 12 2024 at 09:38):

My first thought on seeing this question is that you have a natural subtraction m-1 in it which is always going to make your life harder. Are you sure that your m shouldn't be renumbered so it's m+1? My second thought is that the Fin n's are also probably making your life more difficult. Are you sure you can't just have functions g indexed by the naturals (for example taking junk values like 0 for indices bigger than n)? Then you can replace Fin n with Nat and use Finset.range m with all its API instead of this finite subset of a finite type stuff. In short, I'm wondering whether you're asking the right question. Why do you need this? There might be a better way to set things up.

Yoh Tanimoto (Apr 12 2024 at 13:26):

Thank you for your reply!

  • that is absolutely true, I should renumber m to m+1.
  • I think filling the indices bigger than n is not very convenient, because this lemma will be used to show the finite subadditivity of Riesz content rieszContentAux , but I am using the definition of Rudin (for an open V it is sup {Λ f} where supp f ⊆ V and 0 ≤ f x ≤ 1).
  • this specific lemma is a part of the following generalization of Urysohn's lemma.
import Mathlib

open BigOperators Function Set

lemma exists_forall_tsupport_iUnion_one_iUnion_of_isOpen_isClosed {X : Type*} [TopologicalSpace X] [NormalSpace X] [T2Space X]
    [LocallyCompactSpace X] {n : } {t : Set X} {s : Fin n  Set X}
    (hs :  (i : Fin n), IsOpen (s i))
    (ht : IsClosed t) (htcp : IsCompact t) (hst : t   i, s i) :
     f : Fin n  C(X, ), ( (i : Fin n), tsupport (f i)  s i)  EqOn ( i, f i) 1 t
      (i : Fin n),  (x : X), f i x  Icc (0 : ) 1 := by
  sorry

Last updated: May 02 2025 at 03:31 UTC