Documentation

Projects.Util.SetTheory

theorem nonempty_equiv_comm {α : Type u_1} {β : Type u_2} :
Nonempty (α β) Nonempty (β α)
@[simp]
theorem nonempty_equiv_refl {α : Type u_1} :
Nonempty (α α)
theorem nonempty_equiv_set_empty_empty {α : Type u_1} {β : Type u_2} :
@[simp]
theorem nonempty_equiv_set_empty_iff {α : Type u_1} {β : Type u_2} {s : Set α} :
Nonempty (s ) s =
theorem nonempty_equiv_trans {α : Type u_1} {γ : Type u_2} (β : Type u_3) (h₁ : Nonempty (α β)) (h₂ : Nonempty (β γ)) :
Nonempty (α γ)
@[simp]
theorem nonempty_equiv_set_univ_iff {α β : Type u} :
@[simp]
theorem nonempty_equiv_set_univ_iff' {α β : Type u} :
theorem Cardinal.mk_eq_of_fintype_card {α : Type u_1} [h : Fintype α] {n : } (h₁ : Fintype.card α = n) :
mk α = n
@[simp]
theorem Cardinal.mk_subtype_const_true {α : Type u_1} :
mk { _x : α // True } = mk α
@[simp]
theorem Cardinal.mk_eq_mk_of_finite {α β : Type u} [ha : Fintype α] [hb : Fintype β] :
@[simp]
theorem nonempty_equiv_subtype_const_true_iff {α β : Type u} :
Nonempty (α { _x : β // True }) Nonempty (α β)
theorem Finset.mkRaw_card_eq_set_card_range {α : Type u_1} {β : Type u_2} [ha : Fintype α] {f : αβ} :
@[simp]
theorem Fintype.card_set_eq_ncard {α : Type u_1} {s : Set α} [hs : Fintype s] :
card s = s.ncard
theorem Finset.card_eq_card_iff_equiv {α β : Type u} {sa : Finset α} {sb : Finset β} :
sa.card = sb.card Nonempty (sa sb)
theorem Set.injOn_of_card_image_eq' {α : Type u_1} {s : Set α} {f : αα} (h₁ : s.Finite) (h₂ : Cardinal.mk ↑(f '' s) = Cardinal.mk s) :
InjOn f s
theorem Set.card_image_eq_iff_injOn' {α : Type u_1} {s : Set α} {f : αα} (h₁ : s.Finite) :
Cardinal.mk ↑(f '' s) = Cardinal.mk s InjOn f s
theorem Set.ncard_eq_ncard_iff_nonempty_equiv {α β : Type u} {sa : Set α} {sb : Set β} (ha : sa.Finite) (hb : sb.Finite) :
sa.ncard = sb.ncard Nonempty (sa sb)
theorem Set.ncard_image_eq_iff_injOn' {α : Type u_1} {s : Set α} {f : αα} (h₁ : s.Finite) :
(f '' s).ncard = s.ncard InjOn f s
theorem nonempty_equiv_iff_bijective {α : Type u_1} {β : Type u_2} :
Nonempty (α β) ∃ (f : αβ), Function.Bijective f
theorem Set.ncard_eq_ncard_iff_bijective {α β : Type u} {sa : Set α} {sb : Set β} (ha : sa.Finite) (hb : sb.Finite) :
sa.ncard = sb.ncard ∃ (f : sasb), Function.Bijective f
theorem Set.range_eq_image {α : Type u_1} {β : Type u_2} {f : αβ} :
theorem Fintype.card_range_eq_iff_injective {α : Type u_1} {β : Type u_2} [ha : Fintype α] {f : αβ} :
theorem Set.finite_of_finite_and_bijective {α : Type u_1} {β : Type u_2} {sa : Set α} {sb : Set β} (h₁ : sa.Finite) (h₂ : ∃ (f : sasb), Function.Bijective f) :
theorem exi_bijective_symm {α : Type u_1} {β : Type u_2} (h : ∃ (f : αβ), Function.Bijective f) :
∃ (f : βα), Function.Bijective f
theorem exi_bijective_comm {α : Type u_1} {β : Type u_2} :
(∃ (f : αβ), Function.Bijective f) ∃ (f : βα), Function.Bijective f
theorem Set.finite_of_finite_and_bijective' {α : Type u_1} {β : Type u_2} {sa : Set α} {sb : Set β} (h₁ : sa.Finite) (h₂ : ∃ (f : sbsa), Function.Bijective f) :
theorem Set.ncard_image_eq_iff_injOn {α : Type u_1} {β : Type u_2} {s : Set α} {f : αβ} (h₁ : s.Finite) :
(f '' s).ncard = s.ncard InjOn f s
theorem Set.range_sum_inl_card_eq {α : Type u_1} {β : Type u_2} [ha : Fintype α] :
theorem Set.range_sum_inr_card_eq {α : Type u_1} {β : Type u_2} [hb : Fintype β] :
theorem Set.nonempty_range_equiv_self_iff_injective {α β : Type u} [ha : Fintype α] {f : αβ} :
theorem ncard_eq_card_toFinset {α : Type u_1} [ha : Fintype α] {s : Set α} :
theorem ncard_eq_card_toFinset' {α : Type u_1} {s : Set α} [hs : Fintype s] :
@[simp]
theorem Cardinal.mk_set_elem {α : Type u_1} {s : Set α} :
mk s = mk { x : α // x s }
@[simp]
@[simp]
theorem Finset.card_le_fintype_card {α : Type u_1} [ha : Fintype α] {s : Finset α} :
theorem Cardinal.mk_lt_fn_prop {α : Type u_1} :
mk α < mk (αProp)
theorem nonempty_equiv_of_embed {α : Type u} {β : Type v} (h₁ : Nonempty (α β)) (h₂ : Nonempty (β α)) :
Nonempty (α β)
theorem nonempty_embed_trans {α : Type u} {β : Type v} {γ : Type w} (h₁ : Nonempty (α β)) (h₂ : Nonempty (β γ)) :
Nonempty (α γ)
theorem isEmpty_embed_iff_lift_left {α : Type v} {β : Type w} :
theorem nonempty_embed_of_empty_embed_rev {α : Type u} {β : Type v} (h : IsEmpty (β α)) :
Nonempty (α β)
theorem isEmpty_embed_of_isEmpty_of_nonempty {α : Type u} {β : Type v} {γ : Type w} (h₁ : IsEmpty (β α)) (h₂ : Nonempty (β γ)) :
IsEmpty (γ α)
@[simp]
theorem isEmpty_set_embed {α : Type u} :
IsEmpty (Set α α)
theorem isEmpty_type_embed {α : Type u} :
theorem ifEmpty_embed_trans {α : Type u} {β : Type v} {γ : Type w} (h₁ : IsEmpty (α β)) (h₂ : IsEmpty (β γ)) :
IsEmpty (α γ)
@[simp]
theorem nonempty_lift_embed_iff {α : Type v} {β : Type w} :
@[simp]
theorem nonempty_embed_lift_iff {α : Type v} {β : Type w} :
@[simp]
theorem isEmpty_lift_embed_iff {α : Type v} {β : Type w} :
@[simp]
theorem isEmpty_embed_lift_iff {α : Type v} {β : Type w} :
theorem nonempty_embed_type_max {α : Type v} :
Nonempty (α Type (max v u))
theorem isEmpty_type_max_embed {α : Type v} :
IsEmpty (Type (max v u) α)
@[simp]
@[simp]
theorem Finset.card_fin_eq_of {n m : } {s : Finset (Fin n)} {t : Finset (Fin m)} (hs : ∀ {i : } {h : i < n}, i, h s∃ (h : i < m), i, h t) (ht : ∀ {i : } {h : i < m}, i, h t∃ (h : i < n), i, h s) :
s.card = t.card
@[simp]
theorem Equiv.bijective_toFun {α : Type u_1} {β : Type u_2} (e : α β) :
@[simp]
theorem Equiv.bijective_invFun {α : Type u_1} {β : Type u_2} (e : α β) :
theorem Set.finite_of_subset_finset {α : Type u_1} {set : Set α} (s : Finset α) (h : xset, x s) :
set.Finite
theorem Set.nonempty_infinite_diff_finite {α : Type u_1} {s s' : Set α} (h₁ : s.Infinite) (h₂ : s'.Finite) :
(s \ s').Nonempty
theorem Set.nat_exists_le_of_infinite {s : Set } {n : } (h : s.Infinite) :
∃ (k : ), n k k s
theorem Set.exists_infinite_preimage_of' {α : Type u_1} {β : Type u_2} [ha : Infinite α] [hb : Finite β] {f : αβ} :
∃ (b : Set β), (f ⁻¹' b).Infinite
theorem Set.exists_infinite_preimage_of {α : Type u_1} {β : Type u_2} [ha : Infinite α] [hb : Finite β] {f : αβ} :
∃ (b : β), (f ⁻¹' {b}).Infinite
theorem Set.infinite_of_subset {α : Type u_1} {s₁ s₂ : Set α} (h₁ : s₂s₁) (h₂ : s₂.Infinite) :
theorem Set.exists_infinite_of_forall_exists {α : Type u_1} {β : Type u_2} [ha : Infinite α] [hb : Finite β] {R : αβProp} (h : ∀ (a : α), ∃ (b : β), R a b) :
∃ (b : β), {a : α | R a b}.Infinite
theorem finite_iff_finite_of_bijective {α : Type u_1} {β : Type u_2} (h : ∃ (f : αβ), Function.Bijective f) :
theorem Set.finite_filter_equiv_toFun_iff {α : Type u_1} {β : Type u_2} {p : βProp} {e : α β} :
{x : α | p (e x)}.Finite {y : β | p y}.Finite
theorem Set.finite_filter_equiv_invFun_iff {α : Type u_1} {β : Type u_2} {p : βProp} {e : β α} :
{x : α | p (e.invFun x)}.Finite {y : β | p y}.Finite
theorem Set.finite_filter_equiv_toFun_of {α : Type u_1} {β : Type u_2} {p : βProp} {e : α β} (h : {y : β | p y}.Finite) :
{x : α | p (e x)}.Finite
theorem Set.finite_filter_equiv_invFun_of {α : Type u_1} {β : Type u_2} {p : βProp} {e : β α} (h : {y : β | p y}.Finite) :
{x : α | p (e.invFun x)}.Finite
theorem Set.finite_filter_of_bijective {α : Type u_1} {β : Type u_2} {p : βProp} {f : αβ} (hf : Function.Bijective f) (h : {x : α | p (f x)}.Finite) :
{y : β | p y}.Finite
@[simp]
@[simp]
theorem Set.finite_int_abs_sub_le {c d : } :
{a : | |a - c| d}.Finite
@[simp]
theorem Set.finite_toSet_list {α : Type u_1} {xs : List α} :
@[simp]
instance instFiniteElemToSet {α : Type u_1} {xs : List α} :
theorem Set.ncard_toSet_list_of_nodup {α : Type u_1} {xs : List α} (h : xs.Nodup) :
noncomputable def Set.ncard? {α : Type u_1} (s : Set α) :
Equations
Instances For
    @[simp]
    theorem Set.ncard?_empty {α : Type u_1} :
    theorem Set.ncard?_image_of_injOn {α : Type u_1} {β : Type u_2} {s : Set α} {f : αβ} (h : InjOn f s) :
    (f '' s).ncard? = s.ncard?
    theorem Set.ssubset_of {α : Type u_1} {s₁ s₂ : Set α} (x : α) (h₁ : s₁s₂) (h₂ : xs₁) (h₃ : x s₂) :
    s₁s₂
    theorem Set.ncard_eq_ite {α : Type u_1} {s : Set α} :