Skip to content

Commit e5f4140

Browse files
committed
feat(MeasureTheory/MeasurableSpace/Constructions): add MeasurableSpace (Finset _) structure (leanprover-community#41062)
Add an instance of `MeasurableSpace (Finset _)` (derived from the existing instance of `MeasurableSpace (Set _)` and provide some basic API for this instance, in particular that this instance is `MeasurableSingletonClass` (and hence `DiscreteMeasurableSpace`, by `inferInstance`, though we leave this implicit) in the `Countable` case, Co-authored-by: Terence Tao <tao@math.ucla.edu>
1 parent 48b12e1 commit e5f4140

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -962,6 +962,46 @@ protected lemma Measurable.subset {s t : β → Set α} (hs : Measurable s) (hs
962962

963963
end Set
964964

965+
section Finset
966+
variable [MeasurableSpace β] {g : β → Finset α}
967+
968+
/-- We give `Finset α` the measurable structure inherited from `Set α`.
969+
970+
This is the smallest sigma-algebra generated by `(a ∈ ·)` for all `a : α`.
971+
See `measurable_finset_iff`. -/
972+
instance Finset.instMeasurableSpace : MeasurableSpace (Finset α) :=
973+
.comap SetLike.coe inferInstance
974+
975+
lemma measurable_finset_iff_measurable_set : Measurable g ↔ Measurable (fun x ↦ (g x : Set α)) :=
976+
measurable_comap_iff
977+
978+
lemma measurable_finset_iff : Measurable g ↔ ∀ a, Measurable (a ∈ g ·) := by
979+
rw [measurable_finset_iff_measurable_set, measurable_set_iff]; rfl
980+
981+
lemma measurableSet_finset_iff (S : Set (Finset α)) : MeasurableSet S ↔
982+
∃ S' : Set (Set α), MeasurableSet S' ∧ { s : Finset α | ↑s ∈ S'} = S :=
983+
MeasurableSpace.measurableSet_comap
984+
985+
@[fun_prop]
986+
lemma measurable_finset_mem (a : α) : Measurable fun s : Finset α ↦ a ∈ s :=
987+
(measurable_set_mem a).comp (comap_measurable _)
988+
989+
lemma measurable_finset_notMem (a : α) : Measurable fun s : Finset α ↦ a ∉ s :=
990+
(measurable_set_notMem a).comp (comap_measurable _)
991+
992+
lemma measurableSet_mem_finset (a : α) : MeasurableSet {s : Finset α | a ∈ s} :=
993+
measurableSet_setOf.2 <| measurable_finset_mem _
994+
995+
lemma measurableSet_notMem_finset (a : α) : MeasurableSet {s : Finset α | a ∉ s} :=
996+
measurableSet_setOf.2 <| measurable_finset_notMem _
997+
998+
variable [Countable α]
999+
1000+
instance Finset.instMeasurableSingletonClass : MeasurableSingletonClass (Finset α) :=
1001+
.mk fun S ↦ (measurableSet_finset_iff _).mpr ⟨{↑S}, by simp, by ext; simp⟩
1002+
1003+
end Finset
1004+
9651005
section curry
9661006

9671007
variable {ι : Type*}

0 commit comments

Comments
 (0)