Small types #
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
.
@[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
@[protected, instance]
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_encodable
in this file,
to keep imports to logic
to a minimum.
@[protected, instance]
def
small_sigma
{α : Type u_1}
(β : α → Type u_2)
[small α]
[∀ (a : α), small (β a)] :
small (Σ (a : α), β a)