@[instance]
Equations
- set.lattice_set = {sup := boolean_algebra.sup set.boolean_algebra, le := boolean_algebra.le set.boolean_algebra, lt := boolean_algebra.lt set.boolean_algebra, le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, le_sup_left := _, le_sup_right := _, sup_le := _, inf := boolean_algebra.inf set.boolean_algebra, inf_le_left := _, inf_le_right := _, le_inf := _, top := boolean_algebra.top set.boolean_algebra, le_top := _, bot := boolean_algebra.bot set.boolean_algebra, bot_le := _, Sup := λ (s : set (set α)), {a : α | ∃ (t : set α) (H : t ∈ s), a ∈ t}, Inf := λ (s : set (set α)), {a : α | ∀ (t : set α), t ∈ s → a ∈ t}, le_Sup := _, Sup_le := _, Inf_le := _, le_Inf := _}
Image is monotone. See set.image_image
for the statement in terms of ⊆
.
theorem
set.image_preimage
{α : Type u}
{β : Type v}
{f : α → β} :
galois_connection (set.image f) (set.preimage f)
kern_image f s
is the set of y
such that f ⁻¹ y ⊆ s
Equations
- set.kern_image f s = {y : β | ∀ ⦃x : α⦄, f x = y → x ∈ s}
theorem
set.set_of_exists
{β : Type v}
{ι : Sort x}
(p : ι → β → Prop) :
{x : β | ∃ (i : ι), p i x} = ⋃ (i : ι), {x : β | p i x}
theorem
set.set_of_forall
{β : Type v}
{ι : Sort x}
(p : ι → β → Prop) :
{x : β | ∀ (i : ι), p i x} = ⋂ (i : ι), {x : β | p i x}
theorem
set.Inter_subset
{β : Type v}
{ι : Sort x}
(s : ι → set β)
(i : ι) :
(⋂ (i : ι), s i) ⊆ s i
theorem
set.directed_on_Union
{α : Type u}
{r : α → α → Prop}
{ι : Sort v}
{f : ι → set α} :
directed has_subset.subset f → (∀ (x : ι), directed_on r (f x)) → directed_on r (⋃ (x : ι), f x)
@[simp]
@[simp]
theorem
set.bInter_insert
{α : Type u}
{β : Type v}
(a : α)
(s : set α)
(t : α → set β) :
(⋂ (x : α) (H : x ∈ has_insert.insert a s), t x) = t a ∩ ⋂ (x : α) (H : x ∈ s), t x
@[simp]
@[simp]
@[simp]
theorem
set.bUnion_insert
{α : Type u}
{β : Type v}
(a : α)
(s : set α)
(t : α → set β) :
(⋃ (x : α) (H : x ∈ has_insert.insert a s), t x) = t a ∪ ⋃ (x : α) (H : x ∈ s), t x
Intersection of a set of sets.
Equations
- ⋂₀S = has_Inf.Inf S
@[simp]
theorem
set.sUnion_insert
{α : Type u}
(s : set α)
(T : set (set α)) :
⋃₀has_insert.insert s T = s ∪ ⋃₀T
@[simp]
theorem
set.sInter_insert
{α : Type u}
(s : set α)
(T : set (set α)) :
⋂₀has_insert.insert s T = s ∩ ⋂₀T
theorem
set.Union_subset_Union_const
{α : Type u}
{ι ι₂ : Sort x}
{s : set α} :
(ι → ι₂) → ((⋃ (i : ι), s) ⊆ ⋃ (j : ι₂), s)
@[instance]
Equations
- set.complete_boolean_algebra = {sup := boolean_algebra.sup set.boolean_algebra, le := boolean_algebra.le set.boolean_algebra, lt := boolean_algebra.lt set.boolean_algebra, le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, le_sup_left := _, le_sup_right := _, sup_le := _, inf := boolean_algebra.inf set.boolean_algebra, inf_le_left := _, inf_le_right := _, le_inf := _, le_sup_inf := _, top := boolean_algebra.top set.boolean_algebra, le_top := _, bot := boolean_algebra.bot set.boolean_algebra, bot_le := _, compl := has_compl.compl (boolean_algebra.to_has_compl (set α)), sdiff := has_sdiff.sdiff set.has_sdiff, inf_compl_le_bot := _, top_le_sup_compl := _, sdiff_eq := _, Sup := complete_lattice.Sup set.lattice_set, Inf := complete_lattice.Inf set.lattice_set, le_Sup := _, Sup_le := _, Inf_le := _, le_Inf := _, infi_sup_le_sup_Inf := _, inf_Sup_le_supr_inf := _}
theorem
set.Union_range_eq_Union
{ι : Type u_1}
{α : Type u_2}
{β : Type u_3}
(C : ι → set α)
{f : Π (x : ι), β → ↥(C x)} :
(∀ (x : ι), function.surjective (f x)) → ((⋃ (y : β), set.range (λ (x : ι), (f x y).val)) = ⋃ (x : ι), C x)
maps_to
theorem
set.maps_to_sUnion
{α : Type u}
{β : Type v}
{S : set (set α)}
{t : set β}
{f : α → β} :
(∀ (s : set α), s ∈ S → set.maps_to f s t) → set.maps_to f (⋃₀S) t
theorem
set.maps_to_Union
{α : Type u}
{β : Type v}
{ι : Sort x}
{s : ι → set α}
{t : set β}
{f : α → β} :
(∀ (i : ι), set.maps_to f (s i) t) → set.maps_to f (⋃ (i : ι), s i) t
theorem
set.maps_to_bUnion
{α : Type u}
{β : Type v}
{ι : Sort x}
{p : ι → Prop}
{s : Π (i : ι), p i → set α}
{t : set β}
{f : α → β} :
(∀ (i : ι) (hi : p i), set.maps_to f (s i hi) t) → set.maps_to f (⋃ (i : ι) (hi : p i), s i hi) t
theorem
set.maps_to_Union_Union
{α : Type u}
{β : Type v}
{ι : Sort x}
{s : ι → set α}
{t : ι → set β}
{f : α → β} :
(∀ (i : ι), set.maps_to f (s i) (t i)) → set.maps_to f (⋃ (i : ι), s i) (⋃ (i : ι), t i)
theorem
set.maps_to_bUnion_bUnion
{α : Type u}
{β : Type v}
{ι : Sort x}
{p : ι → Prop}
{s : Π (i : ι), p i → set α}
{t : Π (i : ι), p i → set β}
{f : α → β} :
(∀ (i : ι) (hi : p i), set.maps_to f (s i hi) (t i hi)) → set.maps_to f (⋃ (i : ι) (hi : p i), s i hi) (⋃ (i : ι) (hi : p i), t i hi)
theorem
set.maps_to_sInter
{α : Type u}
{β : Type v}
{s : set α}
{T : set (set β)}
{f : α → β} :
(∀ (t : set β), t ∈ T → set.maps_to f s t) → set.maps_to f s (⋂₀T)
theorem
set.maps_to_Inter
{α : Type u}
{β : Type v}
{ι : Sort x}
{s : set α}
{t : ι → set β}
{f : α → β} :
(∀ (i : ι), set.maps_to f s (t i)) → set.maps_to f s (⋂ (i : ι), t i)
theorem
set.maps_to_bInter
{α : Type u}
{β : Type v}
{ι : Sort x}
{p : ι → Prop}
{s : set α}
{t : Π (i : ι), p i → set β}
{f : α → β} :
(∀ (i : ι) (hi : p i), set.maps_to f s (t i hi)) → set.maps_to f s (⋂ (i : ι) (hi : p i), t i hi)
theorem
set.maps_to_Inter_Inter
{α : Type u}
{β : Type v}
{ι : Sort x}
{s : ι → set α}
{t : ι → set β}
{f : α → β} :
(∀ (i : ι), set.maps_to f (s i) (t i)) → set.maps_to f (⋂ (i : ι), s i) (⋂ (i : ι), t i)
theorem
set.maps_to_bInter_bInter
{α : Type u}
{β : Type v}
{ι : Sort x}
{p : ι → Prop}
{s : Π (i : ι), p i → set α}
{t : Π (i : ι), p i → set β}
{f : α → β} :
(∀ (i : ι) (hi : p i), set.maps_to f (s i hi) (t i hi)) → set.maps_to f (⋂ (i : ι) (hi : p i), s i hi) (⋂ (i : ι) (hi : p i), t i hi)
inj_on
theorem
set.inj_on.image_Inter_eq
{α : Type u}
{β : Type v}
{ι : Sort x}
[nonempty ι]
{s : ι → set α}
{f : α → β} :
set.inj_on f (⋃ (i : ι), s i) → ((f '' ⋂ (i : ι), s i) = ⋂ (i : ι), f '' s i)
theorem
set.inj_on.image_bInter_eq
{α : Type u}
{β : Type v}
{ι : Sort x}
{p : ι → Prop}
{s : Π (i : ι), p i → set α}
(hp : ∃ (i : ι), p i)
{f : α → β} :
set.inj_on f (⋃ (i : ι) (hi : p i), s i hi) → ((f '' ⋂ (i : ι) (hi : p i), s i hi) = ⋂ (i : ι) (hi : p i), f '' s i hi)
theorem
set.inj_on_Union_of_directed
{α : Type u}
{β : Type v}
{ι : Sort x}
{s : ι → set α}
(hs : directed has_subset.subset s)
{f : α → β} :
(∀ (i : ι), set.inj_on f (s i)) → set.inj_on f (⋃ (i : ι), s i)
surj_on
theorem
set.surj_on_sUnion
{α : Type u}
{β : Type v}
{s : set α}
{T : set (set β)}
{f : α → β} :
(∀ (t : set β), t ∈ T → set.surj_on f s t) → set.surj_on f s (⋃₀T)
theorem
set.surj_on_Union
{α : Type u}
{β : Type v}
{ι : Sort x}
{s : set α}
{t : ι → set β}
{f : α → β} :
(∀ (i : ι), set.surj_on f s (t i)) → set.surj_on f s (⋃ (i : ι), t i)
theorem
set.surj_on_Union_Union
{α : Type u}
{β : Type v}
{ι : Sort x}
{s : ι → set α}
{t : ι → set β}
{f : α → β} :
(∀ (i : ι), set.surj_on f (s i) (t i)) → set.surj_on f (⋃ (i : ι), s i) (⋃ (i : ι), t i)
theorem
set.surj_on_bUnion
{α : Type u}
{β : Type v}
{ι : Sort x}
{p : ι → Prop}
{s : set α}
{t : Π (i : ι), p i → set β}
{f : α → β} :
(∀ (i : ι) (hi : p i), set.surj_on f s (t i hi)) → set.surj_on f s (⋃ (i : ι) (hi : p i), t i hi)
theorem
set.surj_on_bUnion_bUnion
{α : Type u}
{β : Type v}
{ι : Sort x}
{p : ι → Prop}
{s : Π (i : ι), p i → set α}
{t : Π (i : ι), p i → set β}
{f : α → β} :
(∀ (i : ι) (hi : p i), set.surj_on f (s i hi) (t i hi)) → set.surj_on f (⋃ (i : ι) (hi : p i), s i hi) (⋃ (i : ι) (hi : p i), t i hi)
theorem
set.surj_on_Inter
{α : Type u}
{β : Type v}
{ι : Sort x}
[hi : nonempty ι]
{s : ι → set α}
{t : set β}
{f : α → β} :
(∀ (i : ι), set.surj_on f (s i) t) → set.inj_on f (⋃ (i : ι), s i) → set.surj_on f (⋂ (i : ι), s i) t
theorem
set.surj_on_Inter_Inter
{α : Type u}
{β : Type v}
{ι : Sort x}
[hi : nonempty ι]
{s : ι → set α}
{t : ι → set β}
{f : α → β} :
(∀ (i : ι), set.surj_on f (s i) (t i)) → set.inj_on f (⋃ (i : ι), s i) → set.surj_on f (⋂ (i : ι), s i) (⋂ (i : ι), t i)
bij_on
theorem
set.bij_on_Union
{α : Type u}
{β : Type v}
{ι : Sort x}
{s : ι → set α}
{t : ι → set β}
{f : α → β} :
(∀ (i : ι), set.bij_on f (s i) (t i)) → set.inj_on f (⋃ (i : ι), s i) → set.bij_on f (⋃ (i : ι), s i) (⋃ (i : ι), t i)
theorem
set.bij_on_Inter
{α : Type u}
{β : Type v}
{ι : Sort x}
[hi : nonempty ι]
{s : ι → set α}
{t : ι → set β}
{f : α → β} :
(∀ (i : ι), set.bij_on f (s i) (t i)) → set.inj_on f (⋃ (i : ι), s i) → set.bij_on f (⋂ (i : ι), s i) (⋂ (i : ι), t i)
theorem
set.bij_on_Union_of_directed
{α : Type u}
{β : Type v}
{ι : Sort x}
{s : ι → set α}
(hs : directed has_subset.subset s)
{t : ι → set β}
{f : α → β} :
(∀ (i : ι), set.bij_on f (s i) (t i)) → set.bij_on f (⋃ (i : ι), s i) (⋃ (i : ι), t i)
theorem
set.bij_on_Inter_of_directed
{α : Type u}
{β : Type v}
{ι : Sort x}
[nonempty ι]
{s : ι → set α}
(hs : directed has_subset.subset s)
{t : ι → set β}
{f : α → β} :
(∀ (i : ι), set.bij_on f (s i) (t i)) → set.bij_on f (⋂ (i : ι), s i) (⋂ (i : ι), t i)
@[simp]
@[simp]
@[simp]
theorem
set.Union_image_left
{α : Type u}
{β : Type v}
{γ : Type w}
(f : α → β → γ)
{s : set α}
{t : set β} :
(⋃ (a : α) (H : a ∈ s), f a '' t) = set.image2 f s t
theorem
set.Union_image_right
{α : Type u}
{β : Type v}
{γ : Type w}
(f : α → β → γ)
{s : set α}
{t : set β} :
(⋃ (b : β) (H : b ∈ t), (λ (a : α), f a b) '' s) = set.image2 f s t
theorem
set.image_seq
{α : Type u}
{β : Type v}
{γ : Type w}
{f : β → γ}
{s : set (α → β)}
{t : set α} :
@[instance]
Equations
theorem
set.pairwise_on_disjoint_fiber
{α : Type u}
{β : Type v}
(f : α → β)
(s : set β) :
s.pairwise_on (disjoint on λ (y : β), f ⁻¹' {y})
A collection of sets is pairwise_disjoint
, if any two different sets in this collection
are disjoint.
Equations
theorem
set.pairwise_disjoint.subset
{α : Type u}
{s t : set (set α)} :
s ⊆ t → t.pairwise_disjoint → s.pairwise_disjoint
theorem
set.pairwise_disjoint.range
{α : Type u}
{s : set (set α)}
(f : ↥s → set α) :
(∀ (x : ↥s), f x ⊆ x.val) → s.pairwise_disjoint → (set.range f).pairwise_disjoint
If t
is an indexed family of sets, then there is a natural map from Σ i, t i
to ⋃ i, t i
sending ⟨i, x⟩
to x
.
Equations
- set.sigma_to_Union t x = ⟨↑(x.snd), _⟩
theorem
set.sigma_to_Union_injective
{α : Type u}
{β : Type v}
(t : α → set β) :
(∀ (i j : α), i ≠ j → disjoint (t i) (t j)) → function.injective (set.sigma_to_Union t)
theorem
set.sigma_to_Union_bijective
{α : Type u}
{β : Type v}
(t : α → set β) :
(∀ (i j : α), i ≠ j → disjoint (t i) (t j)) → function.bijective (set.sigma_to_Union t)
Equivalence between a disjoint union and a dependent sum.
Equations
Equivalence between a disjoint bounded union and a dependent sum.
Equations
- set.bUnion_eq_sigma_of_disjoint h = (equiv.set_congr set.bUnion_eq_sigma_of_disjoint._proof_1).trans (set.Union_eq_sigma_of_disjoint _)