Loogle!
Result
Found 778 declarations mentioning Cardinal.mk. Of these, only the first 200 are shown.
- Cardinal.mk 📋 Mathlib.SetTheory.Cardinal.Defs
: Type u → Cardinal.{u} - Cardinal.mk_nat 📋 Mathlib.SetTheory.Cardinal.Defs
: Cardinal.mk ℕ = Cardinal.aleph0 - Cardinal.canLiftCardinalType 📋 Mathlib.SetTheory.Cardinal.Defs
: CanLift Cardinal.{u} (Type u) Cardinal.mk fun x => True - Cardinal.outMkEquiv 📋 Mathlib.SetTheory.Cardinal.Defs
{α : Type v} : Quotient.out (Cardinal.mk α) ≃ α - Cardinal.inductionOn 📋 Mathlib.SetTheory.Cardinal.Defs
{motive : Cardinal.{u_1} → Prop} (c : Cardinal.{u_1}) (mk : ∀ (α : Type u_1), motive (Cardinal.mk α)) : motive c - Cardinal.mk_out 📋 Mathlib.SetTheory.Cardinal.Defs
(c : Cardinal.{u_1}) : Cardinal.mk (Quotient.out c) = c - Cardinal.mk_uLift 📋 Mathlib.SetTheory.Cardinal.Defs
(α : Type u) : Cardinal.mk (ULift.{v, u} α) = Cardinal.lift.{v, u} (Cardinal.mk α) - Cardinal.mk_empty 📋 Mathlib.SetTheory.Cardinal.Defs
: Cardinal.mk Empty = 0 - Cardinal.mk_pempty 📋 Mathlib.SetTheory.Cardinal.Defs
: Cardinal.mk PEmpty.{u_1 + 1} = 0 - Cardinal.mk_punit 📋 Mathlib.SetTheory.Cardinal.Defs
: Cardinal.mk PUnit.{u_1 + 1} = 1 - Cardinal.mk_unit 📋 Mathlib.SetTheory.Cardinal.Defs
: Cardinal.mk Unit = 1 - Cardinal.lift_mk_fin 📋 Mathlib.SetTheory.Cardinal.Defs
(n : ℕ) : Cardinal.lift.{u_1, 0} (Cardinal.mk (Fin n)) = ↑n - Cardinal.mk_congr 📋 Mathlib.SetTheory.Cardinal.Defs
{α β : Type u} (e : α ≃ β) : Cardinal.mk α = Cardinal.mk β - Cardinal.mk_plift_false 📋 Mathlib.SetTheory.Cardinal.Defs
: Cardinal.mk (PLift False) = 0 - Cardinal.mk_plift_true 📋 Mathlib.SetTheory.Cardinal.Defs
: Cardinal.mk (PLift True) = 1 - Equiv.cardinal_eq 📋 Mathlib.SetTheory.Cardinal.Defs
{α β : Type u} (e : α ≃ β) : Cardinal.mk α = Cardinal.mk β - Cardinal.eq 📋 Mathlib.SetTheory.Cardinal.Defs
{α β : Type u} : Cardinal.mk α = Cardinal.mk β ↔ Nonempty (α ≃ β) - Cardinal.mk_congr_lift 📋 Mathlib.SetTheory.Cardinal.Defs
{α : Type u} {β : Type v} (e : α ≃ β) : Cardinal.lift.{v, u} (Cardinal.mk α) = Cardinal.lift.{u, v} (Cardinal.mk β) - Cardinal.mk_eq_zero 📋 Mathlib.SetTheory.Cardinal.Defs
(α : Type u) [IsEmpty α] : Cardinal.mk α = 0 - Cardinal.mk_ne_zero 📋 Mathlib.SetTheory.Cardinal.Defs
(α : Type u) [Nonempty α] : Cardinal.mk α ≠ 0 - Equiv.lift_cardinal_eq 📋 Mathlib.SetTheory.Cardinal.Defs
{α : Type u} {β : Type v} (e : α ≃ β) : Cardinal.lift.{v, u} (Cardinal.mk α) = Cardinal.lift.{u, v} (Cardinal.mk β) - Cardinal.mk_eq_zero_iff 📋 Mathlib.SetTheory.Cardinal.Defs
{α : Type u} : Cardinal.mk α = 0 ↔ IsEmpty α - Cardinal.mk_ne_zero_iff 📋 Mathlib.SetTheory.Cardinal.Defs
{α : Type u} : Cardinal.mk α ≠ 0 ↔ Nonempty α - Cardinal.inductionOn₂ 📋 Mathlib.SetTheory.Cardinal.Defs
{motive : Cardinal.{u_1} → Cardinal.{u_2} → Prop} (c₁ : Cardinal.{u_1}) (c₂ : Cardinal.{u_2}) (mk : ∀ (α : Type u_1) (β : Type u_2), motive (Cardinal.mk α) (Cardinal.mk β)) : motive c₁ c₂ - Cardinal.induction_on_pi 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Type u_1} {motive : (ι → Cardinal.{v}) → Prop} (f : ι → Cardinal.{v}) (mk : ∀ (f : ι → Type v), motive fun i => Cardinal.mk (f i)) : motive f - Cardinal.lift_mk_eq 📋 Mathlib.SetTheory.Cardinal.Defs
{α : Type u} {β : Type v} : Cardinal.lift.{max v w, u} (Cardinal.mk α) = Cardinal.lift.{max u w, v} (Cardinal.mk β) ↔ Nonempty (α ≃ β) - Cardinal.lift_mk_eq' 📋 Mathlib.SetTheory.Cardinal.Defs
{α : Type u} {β : Type v} : Cardinal.lift.{v, u} (Cardinal.mk α) = Cardinal.lift.{u, v} (Cardinal.mk β) ↔ Nonempty (α ≃ β) - Cardinal.mk_eq_one 📋 Mathlib.SetTheory.Cardinal.Defs
(α : Type u) [Subsingleton α] [Nonempty α] : Cardinal.mk α = 1 - Cardinal.mk_pi 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Type u} (α : ι → Type v) : Cardinal.mk ((i : ι) → α i) = Cardinal.prod fun i => Cardinal.mk (α i) - Cardinal.mk_sigma_arrow 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Type u_3} (α : Type u_1) (f : ι → Type u_2) : Cardinal.mk (Sigma f → α) = Cardinal.mk ((i : ι) → f i → α) - Cardinal.mk_sigma 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Type u_2} (f : ι → Type u_1) : Cardinal.mk ((i : ι) × f i) = Cardinal.sum fun i => Cardinal.mk (f i) - Cardinal.sum_const' 📋 Mathlib.SetTheory.Cardinal.Defs
(ι : Type u) (a : Cardinal.{u}) : (Cardinal.sum fun x => a) = Cardinal.mk ι * a - Cardinal.add_def 📋 Mathlib.SetTheory.Cardinal.Defs
(α β : Type u) : Cardinal.mk α + Cardinal.mk β = Cardinal.mk (α ⊕ β) - Cardinal.mul_def 📋 Mathlib.SetTheory.Cardinal.Defs
(α β : Type u) : Cardinal.mk α * Cardinal.mk β = Cardinal.mk (α × β) - Cardinal.power_def 📋 Mathlib.SetTheory.Cardinal.Defs
(α β : Type u) : Cardinal.mk α ^ Cardinal.mk β = Cardinal.mk (β → α) - Cardinal.prod_const' 📋 Mathlib.SetTheory.Cardinal.Defs
(ι : Type u) (a : Cardinal.{u}) : (Cardinal.prod fun x => a) = a ^ Cardinal.mk ι - Cardinal.sum_const 📋 Mathlib.SetTheory.Cardinal.Defs
(ι : Type u) (a : Cardinal.{v}) : (Cardinal.sum fun x => a) = Cardinal.lift.{v, u} (Cardinal.mk ι) * Cardinal.lift.{u, v} a - Cardinal.inductionOn₃ 📋 Mathlib.SetTheory.Cardinal.Defs
{motive : Cardinal.{u_1} → Cardinal.{u_2} → Cardinal.{u_3} → Prop} (c₁ : Cardinal.{u_1}) (c₂ : Cardinal.{u_2}) (c₃ : Cardinal.{u_3}) (mk : ∀ (α : Type u_1) (β : Type u_2) (γ : Type u_3), motive (Cardinal.mk α) (Cardinal.mk β) (Cardinal.mk γ)) : motive c₁ c₂ c₃ - Cardinal.mk_arrow 📋 Mathlib.SetTheory.Cardinal.Defs
(α : Type u) (β : Type v) : Cardinal.mk (α → β) = Cardinal.lift.{u, v} (Cardinal.mk β) ^ Cardinal.lift.{v, u} (Cardinal.mk α) - Cardinal.mk_option 📋 Mathlib.SetTheory.Cardinal.Defs
{α : Type u} : Cardinal.mk (Option α) = Cardinal.mk α + 1 - Cardinal.mk_prod 📋 Mathlib.SetTheory.Cardinal.Defs
(α : Type u) (β : Type v) : Cardinal.mk (α × β) = Cardinal.lift.{v, u} (Cardinal.mk α) * Cardinal.lift.{u, v} (Cardinal.mk β) - Cardinal.mk_psum 📋 Mathlib.SetTheory.Cardinal.Defs
(α : Type u) (β : Type v) : Cardinal.mk (α ⊕' β) = Cardinal.lift.{v, u} (Cardinal.mk α) + Cardinal.lift.{u, v} (Cardinal.mk β) - Cardinal.mk_sum 📋 Mathlib.SetTheory.Cardinal.Defs
(α : Type u) (β : Type v) : Cardinal.mk (α ⊕ β) = Cardinal.lift.{v, u} (Cardinal.mk α) + Cardinal.lift.{u, v} (Cardinal.mk β) - Cardinal.prod_const 📋 Mathlib.SetTheory.Cardinal.Defs
(ι : Type u) (a : Cardinal.{v}) : (Cardinal.prod fun x => a) = Cardinal.lift.{u, v} a ^ Cardinal.lift.{v, u} (Cardinal.mk ι) - Cardinal.map_mk 📋 Mathlib.SetTheory.Cardinal.Defs
(f : Type u → Type v) (hf : (α β : Type u) → α ≃ β → f α ≃ f β) (α : Type u) : Cardinal.map f hf (Cardinal.mk α) = Cardinal.mk (f α) - Cardinal.mk_pi_congrRight 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Type u} {f g : ι → Type v} (h : ∀ (i : ι), Cardinal.mk (f i) = Cardinal.mk (g i)) : Cardinal.mk ((i : ι) → f i) = Cardinal.mk ((i : ι) → g i) - Cardinal.mk_pi_congrRight_prop 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Prop} {f g : ι → Type v} (h : ∀ (i : ι), Cardinal.mk (f i) = Cardinal.mk (g i)) : Cardinal.mk ((i : ι) → f i) = Cardinal.mk ((i : ι) → g i) - Cardinal.mk_psigma_congrRight 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Type u} {f g : ι → Type v} (h : ∀ (i : ι), Cardinal.mk (f i) = Cardinal.mk (g i)) : Cardinal.mk ((i : ι) ×' f i) = Cardinal.mk ((i : ι) ×' g i) - Cardinal.mk_psigma_congrRight_prop 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Prop} {f g : ι → Type v} (h : ∀ (i : ι), Cardinal.mk (f i) = Cardinal.mk (g i)) : Cardinal.mk ((i : ι) ×' f i) = Cardinal.mk ((i : ι) ×' g i) - Cardinal.mk_sigma_congrRight 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Type u} {f g : ι → Type v} (h : ∀ (i : ι), Cardinal.mk (f i) = Cardinal.mk (g i)) : Cardinal.mk ((i : ι) × f i) = Cardinal.mk ((i : ι) × g i) - Cardinal.mk_pi_congr_prop 📋 Mathlib.SetTheory.Cardinal.Defs
{ι ι' : Prop} {f : ι → Type v} {g : ι' → Type v} (e : ι ↔ ι') (h : ∀ (i : ι), Cardinal.mk (f i) = Cardinal.mk (g ⋯)) : Cardinal.mk ((i : ι) → f i) = Cardinal.mk ((i : ι') → g i) - Cardinal.mk_subtype_of_equiv 📋 Mathlib.SetTheory.Cardinal.Defs
{α β : Type u} (p : β → Prop) (e : α ≃ β) : Cardinal.mk { a // p (e a) } = Cardinal.mk { b // p b } - Cardinal.mk_pi_congr 📋 Mathlib.SetTheory.Cardinal.Defs
{ι ι' : Type u} {f : ι → Type v} {g : ι' → Type v} (e : ι ≃ ι') (h : ∀ (i : ι), Cardinal.mk (f i) = Cardinal.mk (g (e i))) : Cardinal.mk ((i : ι) → f i) = Cardinal.mk ((i : ι') → g i) - Cardinal.mk_pi_congr' 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Type u} {ι' : Type v} {f : ι → Type (max w u v)} {g : ι' → Type (max w u v)} (e : ι ≃ ι') (h : ∀ (i : ι), Cardinal.mk (f i) = Cardinal.mk (g (e i))) : Cardinal.mk ((i : ι) → f i) = Cardinal.mk ((i : ι') → g i) - Cardinal.mk_pi_congr_lift 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Type v} {ι' : Type v'} {f : ι → Type w} {g : ι' → Type w'} (e : ι ≃ ι') (h : ∀ (i : ι), Cardinal.lift.{w', w} (Cardinal.mk (f i)) = Cardinal.lift.{w, w'} (Cardinal.mk (g (e i)))) : Cardinal.lift.{max v' w', max v w} (Cardinal.mk ((i : ι) → f i)) = Cardinal.lift.{max v w, max v' w'} (Cardinal.mk ((i : ι') → g i)) - Cardinal.mk_sigma_congr 📋 Mathlib.SetTheory.Cardinal.Defs
{ι ι' : Type u} {f : ι → Type v} {g : ι' → Type v} (e : ι ≃ ι') (h : ∀ (i : ι), Cardinal.mk (f i) = Cardinal.mk (g (e i))) : Cardinal.mk ((i : ι) × f i) = Cardinal.mk ((i : ι') × g i) - Cardinal.mk_sigma_congr' 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Type u} {ι' : Type v} {f : ι → Type (max w u v)} {g : ι' → Type (max w u v)} (e : ι ≃ ι') (h : ∀ (i : ι), Cardinal.mk (f i) = Cardinal.mk (g (e i))) : Cardinal.mk ((i : ι) × f i) = Cardinal.mk ((i : ι') × g i) - Cardinal.mk_sigma_congr_lift 📋 Mathlib.SetTheory.Cardinal.Defs
{ι : Type v} {ι' : Type v'} {f : ι → Type w} {g : ι' → Type w'} (e : ι ≃ ι') (h : ∀ (i : ι), Cardinal.lift.{w', w} (Cardinal.mk (f i)) = Cardinal.lift.{w, w'} (Cardinal.mk (g (e i)))) : Cardinal.lift.{max v' w', max w v} (Cardinal.mk ((i : ι) × f i)) = Cardinal.lift.{max v w, max w' v'} (Cardinal.mk ((i : ι') × g i)) - Cardinal.mk_fin 📋 Mathlib.SetTheory.Cardinal.Order
(n : ℕ) : Cardinal.mk (Fin n) = ↑n - Cardinal.mk_set_le 📋 Mathlib.SetTheory.Cardinal.Order
{α : Type u} (s : Set α) : Cardinal.mk ↑s ≤ Cardinal.mk α - Cardinal.mk_subtype_le 📋 Mathlib.SetTheory.Cardinal.Order
{α : Type u} (p : α → Prop) : Cardinal.mk (Subtype p) ≤ Cardinal.mk α - Function.Embedding.cardinal_le 📋 Mathlib.SetTheory.Cardinal.Order
{α β : Type u} (f : α ↪ β) : Cardinal.mk α ≤ Cardinal.mk β - Cardinal.mk_fintype 📋 Mathlib.SetTheory.Cardinal.Order
(α : Type u) [h : Fintype α] : Cardinal.mk α = ↑(Fintype.card α) - Cardinal.card_le_of_finset 📋 Mathlib.SetTheory.Cardinal.Order
{α : Type u_1} (s : Finset α) : ↑s.card ≤ Cardinal.mk α - Cardinal.le_def 📋 Mathlib.SetTheory.Cardinal.Order
(α β : Type u) : Cardinal.mk α ≤ Cardinal.mk β ↔ Nonempty (α ↪ β) - Cardinal.mk_le_of_injective 📋 Mathlib.SetTheory.Cardinal.Order
{α β : Type u} {f : α → β} (hf : Function.Injective f) : Cardinal.mk α ≤ Cardinal.mk β - Cardinal.mk_le_of_surjective 📋 Mathlib.SetTheory.Cardinal.Order
{α β : Type u} {f : α → β} (hf : Function.Surjective f) : Cardinal.mk β ≤ Cardinal.mk α - Cardinal.lift_mk_le 📋 Mathlib.SetTheory.Cardinal.Order
{α : Type v} {β : Type w} : Cardinal.lift.{max u w, v} (Cardinal.mk α) ≤ Cardinal.lift.{max u v, w} (Cardinal.mk β) ↔ Nonempty (α ↪ β) - Cardinal.lift_mk_le' 📋 Mathlib.SetTheory.Cardinal.Order
{α : Type u} {β : Type v} : Cardinal.lift.{v, u} (Cardinal.mk α) ≤ Cardinal.lift.{u, v} (Cardinal.mk β) ↔ Nonempty (α ↪ β) - Cardinal.le_mk_iff_exists_set 📋 Mathlib.SetTheory.Cardinal.Order
{c : Cardinal.{u}} {α : Type u} : c ≤ Cardinal.mk α ↔ ∃ p, Cardinal.mk ↑p = c - Cardinal.mk_Prop 📋 Mathlib.SetTheory.Cardinal.Order
: Cardinal.mk Prop = 2 - Cardinal.mk_bool 📋 Mathlib.SetTheory.Cardinal.Order
: Cardinal.mk Bool = 2 - Cardinal.mk_coe_finset 📋 Mathlib.SetTheory.Cardinal.Order
{α : Type u} {s : Finset α} : Cardinal.mk ↥s = ↑s.card - Cardinal.mk_set 📋 Mathlib.SetTheory.Cardinal.Order
{α : Type u} : Cardinal.mk (Set α) = 2 ^ Cardinal.mk α - Cardinal.mk_le_mk_mul_of_mk_preimage_le 📋 Mathlib.SetTheory.Cardinal.Order
{α β : Type u} {c : Cardinal.{u}} (f : α → β) (hf : ∀ (b : β), Cardinal.mk ↑(f ⁻¹' {b}) ≤ c) : Cardinal.mk α ≤ Cardinal.mk β * c - Cardinal.lift_mk_le_lift_mk_mul_of_lift_mk_preimage_le 📋 Mathlib.SetTheory.Cardinal.Order
{α : Type u} {β : Type v} {c : Cardinal.{max u v}} (f : α → β) (hf : ∀ (b : β), Cardinal.lift.{v, u} (Cardinal.mk ↑(f ⁻¹' {b})) ≤ c) : Cardinal.lift.{v, u} (Cardinal.mk α) ≤ Cardinal.lift.{u, v} (Cardinal.mk β) * c - Cardinal.mk_powerset 📋 Mathlib.SetTheory.Cardinal.Order
{α : Type u} (s : Set α) : Cardinal.mk ↑(𝒫 s) = 2 ^ Cardinal.mk ↑s - Cardinal.mk_int 📋 Mathlib.SetTheory.Cardinal.Basic
: Cardinal.mk ℤ = Cardinal.aleph0 - Cardinal.mk_pnat 📋 Mathlib.SetTheory.Cardinal.Basic
: Cardinal.mk ℕ+ = Cardinal.aleph0 - Cardinal.mk_addOpposite 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.mk αᵃᵒᵖ = Cardinal.mk α - Cardinal.mk_additive 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.mk (Additive α) = Cardinal.mk α - Cardinal.mk_denumerable 📋 Mathlib.SetTheory.Cardinal.Basic
(α : Type u) [Denumerable α] : Cardinal.mk α = Cardinal.aleph0 - Cardinal.mk_mulOpposite 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.mk αᵐᵒᵖ = Cardinal.mk α - Cardinal.mk_multiplicative 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.mk (Multiplicative α) = Cardinal.mk α - Cardinal.aleph0_le_mk 📋 Mathlib.SetTheory.Cardinal.Basic
(α : Type u) [Infinite α] : Cardinal.aleph0 ≤ Cardinal.mk α - Cardinal.mk_le_aleph0 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} [Countable α] : Cardinal.mk α ≤ Cardinal.aleph0 - Cardinal.aleph0_le_mk_iff 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.aleph0 ≤ Cardinal.mk α ↔ Infinite α - Cardinal.denumerable_iff 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Nonempty (Denumerable α) ↔ Cardinal.mk α = Cardinal.aleph0 - Cardinal.infinite_iff 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Infinite α ↔ Cardinal.aleph0 ≤ Cardinal.mk α - Cardinal.mk_eq_aleph0 📋 Mathlib.SetTheory.Cardinal.Basic
(α : Type u_1) [Countable α] [Infinite α] : Cardinal.mk α = Cardinal.aleph0 - Cardinal.mk_le_aleph0_iff 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.mk α ≤ Cardinal.aleph0 ↔ Countable α - Cardinal.mk_univ 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.mk ↑Set.univ = Cardinal.mk α - Cardinal.lift_mk_shrink'' 📋 Mathlib.SetTheory.Cardinal.Basic
(α : Type (max u v)) [Small.{v, max u v} α] : Cardinal.lift.{u, v} (Cardinal.mk (Shrink.{v, max u v} α)) = Cardinal.mk α - Cardinal.mk_quotient_le 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {s : Setoid α} : Cardinal.mk (Quotient s) ≤ Cardinal.mk α - Cardinal.aleph0_lt_mk 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} [Uncountable α] : Cardinal.aleph0 < Cardinal.mk α - Cardinal.lift_mk_shrink 📋 Mathlib.SetTheory.Cardinal.Basic
(α : Type u) [Small.{v, u} α] : Cardinal.lift.{max u w, v} (Cardinal.mk (Shrink.{v, u} α)) = Cardinal.lift.{max v w, u} (Cardinal.mk α) - Cardinal.lift_mk_shrink' 📋 Mathlib.SetTheory.Cardinal.Basic
(α : Type u) [Small.{v, u} α] : Cardinal.lift.{u, v} (Cardinal.mk (Shrink.{v, u} α)) = Cardinal.lift.{v, u} (Cardinal.mk α) - Cardinal.lt_aleph0_of_finite 📋 Mathlib.SetTheory.Cardinal.Basic
(α : Type u) [Finite α] : Cardinal.mk α < Cardinal.aleph0 - Cardinal.mk_lt_aleph0 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} [Finite α] : Cardinal.mk α < Cardinal.aleph0 - Cardinal.mk_quot_le 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {r : α → α → Prop} : Cardinal.mk (Quot r) ≤ Cardinal.mk α - Infinite.of_cardinalMk_le 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} [Infinite α] (h : Cardinal.mk α ≤ Cardinal.mk β) : Infinite β - Cardinal.aleph0_lt_mk_iff 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.aleph0 < Cardinal.mk α ↔ Uncountable α - Cardinal.lt_aleph0_iff_finite 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.mk α < Cardinal.aleph0 ↔ Finite α - Cardinal.mk_lt_aleph0_iff 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.mk α < Cardinal.aleph0 ↔ Finite α - Set.Countable.le_aleph0 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {s : Set α} : s.Countable → Cardinal.mk ↑s ≤ Cardinal.aleph0 - Cardinal.aleph0_le_mk_set 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {s : Set α} : Cardinal.aleph0 ≤ Cardinal.mk ↑s ↔ s.Infinite - Cardinal.le_aleph0_iff_set_countable 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {s : Set α} : Cardinal.mk ↑s ≤ Cardinal.aleph0 ↔ s.Countable - Cardinal.le_one_iff_subsingleton 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.mk α ≤ 1 ↔ Subsingleton α - Cardinal.lt_aleph0_iff_fintype 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.mk α < Cardinal.aleph0 ↔ Nonempty (Fintype α) - Cardinal.mk_eq_nat_iff 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {n : ℕ} : Cardinal.mk α = ↑n ↔ Nonempty (α ≃ Fin n) - Cardinal.mk_range_le 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} {f : α → β} : Cardinal.mk ↑(Set.range f) ≤ Cardinal.mk α - Cardinal.eq_one_iff_unique 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u_1} : Cardinal.mk α = 1 ↔ Subsingleton α ∧ Nonempty α - Cardinal.lift_mk_le_lift_mk_of_injective 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} {f : α → β} (hf : Function.Injective f) : Cardinal.lift.{v, u} (Cardinal.mk α) ≤ Cardinal.lift.{u, v} (Cardinal.mk β) - Cardinal.lift_mk_le_lift_mk_of_surjective 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} {f : α → β} (hf : Function.Surjective f) : Cardinal.lift.{u, v} (Cardinal.mk β) ≤ Cardinal.lift.{v, u} (Cardinal.mk α) - Cardinal.mk_range_le_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} {f : α → β} : Cardinal.lift.{u, v} (Cardinal.mk ↑(Set.range f)) ≤ Cardinal.lift.{v, u} (Cardinal.mk α) - Set.Finite.lt_aleph0 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {S : Set α} : S.Finite → Cardinal.mk ↑S < Cardinal.aleph0 - Cardinal.lt_aleph0_iff_set_finite 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {S : Set α} : Cardinal.mk ↑S < Cardinal.aleph0 ↔ S.Finite - Cardinal.mk_range_eq 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} (f : α → β) (h : Function.Injective f) : Cardinal.mk ↑(Set.range f) = Cardinal.mk α - Cardinal.mk_set_ne_zero_iff 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {s : Set α} : Cardinal.mk ↑s ≠ 0 ↔ s.Nonempty - Cardinal.one_lt_iff_nontrivial 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : 1 < Cardinal.mk α ↔ Nontrivial α - Set.Subsingleton.cardinalMk_le_one 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {s : Set α} : s.Subsingleton → Cardinal.mk ↑s ≤ 1 - Cardinal.card_le_of 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {n : ℕ} (H : ∀ (s : Finset α), s.card ≤ n) : Cardinal.mk α ≤ ↑n - Cardinal.mk_le_one_iff_set_subsingleton 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {s : Set α} : Cardinal.mk ↑s ≤ 1 ↔ s.Subsingleton - Cardinal.mk_range_inl 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} : Cardinal.mk ↑(Set.range Sum.inl) = Cardinal.lift.{v, u} (Cardinal.mk α) - Cardinal.mk_range_inr 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} : Cardinal.mk ↑(Set.range Sum.inr) = Cardinal.lift.{u, v} (Cardinal.mk β) - Cardinal.mk_singleton 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} (x : α) : Cardinal.mk ↑{x} = 1 - Cardinal.finset_card_lt_aleph0 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} (s : Finset α) : Cardinal.mk ↑↑s < Cardinal.aleph0 - Cardinal.le_aleph0_iff_subtype_countable 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {p : α → Prop} : Cardinal.mk { x // p x } ≤ Cardinal.aleph0 ↔ {x | p x}.Countable - Cardinal.mk_image_le 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} {f : α → β} {s : Set α} : Cardinal.mk ↑(f '' s) ≤ Cardinal.mk ↑s - Cardinal.mk_preimage_down 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {s : Set α} : Cardinal.mk ↑(ULift.down ⁻¹' s) = Cardinal.lift.{v, u} (Cardinal.mk ↑s) - Cardinal.mk_range_eq_of_injective 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} {f : α → β} (hf : Function.Injective f) : Cardinal.lift.{u, v} (Cardinal.mk ↑(Set.range f)) = Cardinal.lift.{v, u} (Cardinal.mk α) - Cardinal.mk_subtype_le_of_subset 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {p q : α → Prop} (h : ∀ ⦃x : α⦄, p x → q x) : Cardinal.mk (Subtype p) ≤ Cardinal.mk (Subtype q) - Cardinal.exists_finset_eq_card 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u_1} {n : ℕ} (h : ↑n ≤ Cardinal.mk α) : ∃ s, n = s.card - Cardinal.mk_eq_nat_iff_fintype 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {n : ℕ} : Cardinal.mk α = ↑n ↔ ∃ h, Fintype.card α = n - Cardinal.exists_finset_le_card 📋 Mathlib.SetTheory.Cardinal.Basic
(α : Type u_1) (n : ℕ) (h : ↑n ≤ Cardinal.mk α) : ∃ s, n ≤ s.card - Cardinal.mk_image_le_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} {f : α → β} {s : Set α} : Cardinal.lift.{u, v} (Cardinal.mk ↑(f '' s)) ≤ Cardinal.lift.{v, u} (Cardinal.mk ↑s) - Cardinal.mk_le_mk_of_subset 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u_1} {s t : Set α} (h : s ⊆ t) : Cardinal.mk ↑s ≤ Cardinal.mk ↑t - Cardinal.compl_nonempty_of_mk_lt_mk 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {S : Set α} (h : Cardinal.mk ↑S < Cardinal.mk α) : Sᶜ.Nonempty - Cardinal.mk_image_eq 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} {f : α → β} {s : Set α} (hf : Function.Injective f) : Cardinal.mk ↑(f '' s) = Cardinal.mk ↑s - Cardinal.lt_aleph0_iff_subtype_finite 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {p : α → Prop} : Cardinal.mk { x // p x } < Cardinal.aleph0 ↔ {x | p x}.Finite - Cardinal.mk_iUnion_le_sum_mk 📋 Mathlib.SetTheory.Cardinal.Basic
{α ι : Type u} {f : ι → Set α} : Cardinal.mk ↑(⋃ i, f i) ≤ Cardinal.sum fun i => Cardinal.mk ↑(f i) - Cardinal.mk_image_eq_of_injOn 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} (f : α → β) (s : Set α) (h : Set.InjOn f s) : Cardinal.mk ↑(f '' s) = Cardinal.mk ↑s - Cardinal.mk_preimage_of_injective 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} (f : α → β) (s : Set β) (h : Function.Injective f) : Cardinal.mk ↑(f ⁻¹' s) ≤ Cardinal.mk ↑s - Cardinal.mk_set_eq_zero_iff 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {s : Set α} : Cardinal.mk ↑s = 0 ↔ s = ∅ - Cardinal.mk_subtype_mono 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {p q : α → Prop} (h : ∀ (x : α), p x → q x) : Cardinal.mk { x // p x } ≤ Cardinal.mk { x // q x } - Cardinal.mk_iUnion_le_sum_mk_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {ι : Type v} {f : ι → Set α} : Cardinal.lift.{v, u} (Cardinal.mk ↑(⋃ i, f i)) ≤ Cardinal.sum fun i => Cardinal.mk ↑(f i) - Cardinal.mk_image_eq_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} (f : α → β) (s : Set α) (h : Function.Injective f) : Cardinal.lift.{u, v} (Cardinal.mk ↑(f '' s)) = Cardinal.lift.{v, u} (Cardinal.mk ↑s) - Cardinal.mk_image_eq_of_injOn_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} (f : α → β) (s : Set α) (h : Set.InjOn f s) : Cardinal.lift.{u, v} (Cardinal.mk ↑(f '' s)) = Cardinal.lift.{v, u} (Cardinal.mk ↑s) - Cardinal.mk_preimage_of_injective_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} (f : α → β) (s : Set β) (h : Function.Injective f) : Cardinal.lift.{v, u} (Cardinal.mk ↑(f ⁻¹' s)) ≤ Cardinal.lift.{u, v} (Cardinal.mk ↑s) - Cardinal.mk_sum_compl 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u_1} (s : Set α) : Cardinal.mk ↑s + Cardinal.mk ↑sᶜ = Cardinal.mk α - Cardinal.mk_vector 📋 Mathlib.SetTheory.Cardinal.Basic
(α : Type u) (n : ℕ) : Cardinal.mk (List.Vector α n) = Cardinal.mk α ^ n - Cardinal.mk_list_eq_sum_pow 📋 Mathlib.SetTheory.Cardinal.Basic
(α : Type u) : Cardinal.mk (List α) = Cardinal.sum fun n => Cardinal.mk α ^ n - Cardinal.diff_nonempty_of_mk_lt_mk 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {S T : Set α} (h : Cardinal.mk ↑S < Cardinal.mk ↑T) : (T \ S).Nonempty - Cardinal.sdiff_nonempty_of_mk_lt_mk 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {S T : Set α} (h : Cardinal.mk ↑S < Cardinal.mk ↑T) : (T \ S).Nonempty - Cardinal.exists_notMem_of_length_lt 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u_1} (l : List α) (h : ↑l.length < Cardinal.mk α) : ∃ z, z ∉ l - Cardinal.mk_set_eq_one_iff 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {s : Set α} : Cardinal.mk ↑s = 1 ↔ ∃ x, s = {x} - Cardinal.mk_image_embedding 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} (f : α ↪ β) (s : Set α) : Cardinal.mk ↑(⇑f '' s) = Cardinal.mk ↑s - Cardinal.mk_preimage_of_subset_range 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} (f : α → β) (s : Set β) (h : s ⊆ Set.range f) : Cardinal.mk ↑s ≤ Cardinal.mk ↑(f ⁻¹' s) - Cardinal.le_mk_diff_add_mk 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} (S T : Set α) : Cardinal.mk ↑S ≤ Cardinal.mk ↑(S \ T) + Cardinal.mk ↑T - Cardinal.le_mk_iff_exists_subset 📋 Mathlib.SetTheory.Cardinal.Basic
{c : Cardinal.{u}} {α : Type u} {s : Set α} : c ≤ Cardinal.mk ↑s ↔ ∃ p ⊆ s, Cardinal.mk ↑p = c - Cardinal.le_mk_sdiff_add_mk 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} (S T : Set α) : Cardinal.mk ↑S ≤ Cardinal.mk ↑(S \ T) + Cardinal.mk ↑T - Cardinal.mk_eq_two_iff' 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} (x : α) : Cardinal.mk α = 2 ↔ ∃! y, y ≠ x - Cardinal.mk_image_embedding_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} (f : α ↪ β) (s : Set α) : Cardinal.lift.{u, v} (Cardinal.mk ↑(⇑f '' s)) = Cardinal.lift.{v, u} (Cardinal.mk ↑s) - Cardinal.mk_monotone 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Monotone (Cardinal.mk ∘ Set.Elem) - Cardinal.mk_preimage_of_subset_range_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} (f : α → β) (s : Set β) (h : s ⊆ Set.range f) : Cardinal.lift.{u, v} (Cardinal.mk ↑s) ≤ Cardinal.lift.{v, u} (Cardinal.mk ↑(f ⁻¹' s)) - Cardinal.mk_union_le 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} (S T : Set α) : Cardinal.mk ↑(S ∪ T) ≤ Cardinal.mk ↑S + Cardinal.mk ↑T - Cardinal.mk_preimage_of_injective_of_subset_range 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} (f : α → β) (s : Set β) (h : Function.Injective f) (h2 : s ⊆ Set.range f) : Cardinal.mk ↑(f ⁻¹' s) = Cardinal.mk ↑s - Cardinal.two_le_iff' 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} (x : α) : 2 ≤ Cardinal.mk α ↔ ∃ y, y ≠ x - Cardinal.mk_eq_nat_iff_finset 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {n : ℕ} : Cardinal.mk α = ↑n ↔ ∃ t, ↑t = Set.univ ∧ t.card = n - Cardinal.mk_insert_le 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {s : Set α} {a : α} : Cardinal.mk ↑(insert a s) ≤ Cardinal.mk ↑s + 1 - Cardinal.mk_strictMono 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} [Finite α] : StrictMono (Cardinal.mk ∘ Set.Elem) - Cardinal.sum_le_mk_mul_iSup 📋 Mathlib.SetTheory.Cardinal.Basic
{ι : Type u} (f : ι → Cardinal.{u}) : Cardinal.sum f ≤ Cardinal.mk ι * ⨆ i, f i - Cardinal.mk_preimage_of_injective_of_subset_range_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} (f : α → β) (s : Set β) (h : Function.Injective f) (h2 : s ⊆ Set.range f) : Cardinal.lift.{v, u} (Cardinal.mk ↑(f ⁻¹' s)) = Cardinal.lift.{u, v} (Cardinal.mk ↑s) - Cardinal.sum_le_lift_mk_mul_iSup 📋 Mathlib.SetTheory.Cardinal.Basic
{ι : Type u} (f : ι → Cardinal.{max u v}) : Cardinal.sum f ≤ Cardinal.lift.{v, u} (Cardinal.mk ι) * ⨆ i, f i - Cardinal.two_le_iff 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : 2 ≤ Cardinal.mk α ↔ ∃ x y, x ≠ y - Cardinal.iSup_mk_le_mk_iUnion 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {ι : Type v} {f : ι → Set α} : ⨆ i, Cardinal.mk ↑(f i) ≤ Cardinal.mk ↑(⋃ i, f i) - Cardinal.mk_preimage_equiv 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} (f : α ≃ β) (s : Set β) : Cardinal.mk ↑(⇑f ⁻¹' s) = Cardinal.mk ↑s - Cardinal.mk_union_le_aleph0 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u_1} {P Q : Set α} : Cardinal.mk ↑(P ∪ Q) ≤ Cardinal.aleph0 ↔ Cardinal.mk ↑P ≤ Cardinal.aleph0 ∧ Cardinal.mk ↑Q ≤ Cardinal.aleph0 - Cardinal.sum_le_lift_mk_mul_iSup_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{ι : Type u} (f : ι → Cardinal.{v}) : Cardinal.sum f ≤ Cardinal.lift.{v, u} (Cardinal.mk ι) * ⨆ i, Cardinal.lift.{u, v} (f i) - Cardinal.mk_image2_le 📋 Mathlib.SetTheory.Cardinal.Basic
{α β γ : Type u} {f : α → β → γ} {s : Set α} {t : Set β} : Cardinal.mk ↑(Set.image2 f s t) ≤ Cardinal.mk ↑s * Cardinal.mk ↑t - Cardinal.mk_le_iff_forall_finset_subset_card_le 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {n : ℕ} {t : Set α} : Cardinal.mk ↑t ≤ ↑n ↔ ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n - Cardinal.mk_set_eq_nat_iff_finset 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u_1} {s : Set α} {n : ℕ} : Cardinal.mk ↑s = ↑n ↔ ∃ t, ↑t = s ∧ t.card = n - Cardinal.exists_ne_ne_of_three_le 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u_1} (h : 3 ≤ Cardinal.mk α) (x y : α) : ∃ z, z ≠ x ∧ z ≠ y - Cardinal.mk_diff_add_mk 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {S T : Set α} (h : T ⊆ S) : Cardinal.mk ↑(S \ T) + Cardinal.mk ↑T = Cardinal.mk ↑S - Cardinal.mk_preimage_equiv_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} (f : α ≃ β) (s : Set β) : Cardinal.lift.{v, u} (Cardinal.mk ↑(⇑f ⁻¹' s)) = Cardinal.lift.{u, v} (Cardinal.mk ↑s) - Cardinal.mk_sdiff_add_mk 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {S T : Set α} (h : T ⊆ S) : Cardinal.mk ↑(S \ T) + Cardinal.mk ↑T = Cardinal.mk ↑S - Cardinal.mk_strictMonoOn 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : StrictMonoOn (Cardinal.mk ∘ Set.Elem) {s | s.Finite} - WellFounded.cardinalMk_subtype_lt_min_compl_le 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {r : α → α → Prop} (wf : WellFounded r) {s : Set α} (hs : sᶜ.Nonempty) : Cardinal.mk { x // r x (wf.min sᶜ hs) } ≤ Cardinal.mk ↑s - Cardinal.mk_setProd 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} (s : Set α) (t : Set β) : Cardinal.mk ↑(s ×ˢ t) = Cardinal.mk ↑s * Cardinal.mk ↑t - Cardinal.mk_insert 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {s : Set α} {a : α} (h : a ∉ s) : Cardinal.mk ↑(insert a s) = Cardinal.mk ↑s + 1 - Cardinal.mk_finset_of_fintype 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} [Fintype α] : Cardinal.mk (Finset α) = 2 ^ Fintype.card α - Cardinal.mk_iUnion_le 📋 Mathlib.SetTheory.Cardinal.Basic
{α ι : Type u} (f : ι → Set α) : Cardinal.mk ↑(⋃ i, f i) ≤ Cardinal.mk ι * ⨆ i, Cardinal.mk ↑(f i) - Cardinal.card_lt_card_of_left_finite 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {A B : Set α} (hfin : A.Finite) (hlt : A ⊂ B) : Cardinal.mk ↑A < Cardinal.mk ↑B - Cardinal.card_lt_card_of_right_finite 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {A B : Set α} (hfin : B.Finite) (hlt : A ⊂ B) : Cardinal.mk ↑A < Cardinal.mk ↑B - Cardinal.mk_iUnion_le_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {ι : Type v} (f : ι → Set α) : Cardinal.lift.{v, u} (Cardinal.mk ↑(⋃ i, f i)) ≤ Cardinal.lift.{u, v} (Cardinal.mk ι) * ⨆ i, Cardinal.lift.{v, u} (Cardinal.mk ↑(f i)) - Cardinal.mk_sep 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} (s : Set α) (t : α → Prop) : Cardinal.mk ↑{x | x ∈ s ∧ t x} = Cardinal.mk ↑{x | t ↑x} - Cardinal.mk_union_add_mk_inter 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {S T : Set α} : Cardinal.mk ↑(S ∪ T) + Cardinal.mk ↑(S ∩ T) = Cardinal.mk ↑S + Cardinal.mk ↑T - Cardinal.mk_subset_ge_of_subset_image 📋 Mathlib.SetTheory.Cardinal.Basic
{α β : Type u} (f : α → β) {s : Set α} {t : Set β} (h : t ⊆ f '' s) : Cardinal.mk ↑t ≤ Cardinal.mk ↑{x | x ∈ s ∧ f x ∈ t} - Cardinal.mk_subset_ge_of_subset_image_lift 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} {β : Type v} (f : α → β) {s : Set α} {t : Set β} (h : t ⊆ f '' s) : Cardinal.lift.{u, v} (Cardinal.mk ↑t) ≤ Cardinal.lift.{v, u} (Cardinal.mk ↑{x | x ∈ s ∧ f x ∈ t}) - Cardinal.mk_eq_two_iff 📋 Mathlib.SetTheory.Cardinal.Basic
{α : Type u} : Cardinal.mk α = 2 ↔ ∃ x y, x ≠ y ∧ {x, y} = Set.univ
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 69fae59