Small types #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
A type is w
-small if there exists an equivalence to some S : Type w
.
We provide a noncomputable model shrink α : Type w
, and equiv_shrink α : α ≃ shrink α
.
A subsingleton type is w
-small for any w
.
If α ≃ β
, then small.{w} α ↔ small.{w} β
.
@[class]
A type is small.{w}
if there exists an equivalence to some S : Type w
.
Instances of this typeclass
- small_self
- small_max
- small_subsingleton
- small_of_fintype
- small_of_countable
- small_ulift
- small_subtype
- small_Pi
- small_sigma
- small_prod
- small_sum
- small_set
- small_range
- small_image
- cardinal.set.Iic.small
- cardinal.set.Iio.small
- ordinal.small_Iio
- ordinal.small_Iic
- category_theory.quiver.hom.small
- category_theory.structured_arrow.small_proj_preimage_of_locally_small
- category_theory.costructured_arrow.small_proj_preimage_of_locally_small
- category_theory.small_subobject
- small_vector
- small_list
- Set.small_to_set
- first_order.language.term.small
- first_order.language.substructure.small_closure
- first_order.language.substructure.small_bot
- first_order.language.Theory.Model.of_small
- first_order.language.to_Model.small
- first_order.language.elementary_skolem₁_reduct.small
@[nolint]
An arbitrarily chosen model in Type w
for a w
-small type.
Equations
The noncomputable equivalence between a w
-small type and a model.
Equations
theorem
small_of_injective
{α : Type v}
{β : Type w}
[small β]
{f : α → β}
(hf : function.injective f) :
small α
theorem
small_of_surjective
{α : Type v}
{β : Type w}
[small α]
{f : α → β}
(hf : function.surjective f) :
small β
We don't define small_of_fintype
or small_of_countable
in this file,
to keep imports to logic
to a minimum.