Type u
is well-powered #
By building a categorical equivalence MonoOver α ≌ Set α
for any α : Type u
,
we deduce that Subobject α ≃o Set α
and that Type u
is well-powered.
One would hope that for a particular concrete category C
(AddCommGroup
, etc)
it's viable to prove [WellPowered C]
without explicitly aligning Subobject X
with the "hand-rolled" definition of subobjects.
This may be possible using Lawvere theories, but it remains to be seen whether this just pushes lumps around in the carpet.
The category of MonoOver α
, for α : Type u
, is equivalent to the partial order Set α
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
Types.monoOverEquivalenceSet_inverse_map
(α : Type u)
{s t : Set α}
(b : s ⟶ t)
:
(monoOverEquivalenceSet α).inverse.map b = CategoryTheory.MonoOver.homMk (fun (w : (CategoryTheory.MonoOver.mk' Subtype.val).obj.left) => ⟨↑w, ⋯⟩) ⋯
@[simp]
theorem
Types.monoOverEquivalenceSet_counitIso
(α : Type u)
:
(monoOverEquivalenceSet α).counitIso = CategoryTheory.NatIso.ofComponents (fun (x : Set α) => CategoryTheory.eqToIso ⋯) ⋯
@[simp]
theorem
Types.monoOverEquivalenceSet_functor_map
(α : Type u)
{f g : CategoryTheory.MonoOver α}
(t : f ⟶ g)
:
@[simp]
@[simp]
@[simp]
theorem
Types.monoOverEquivalenceSet_unitIso
(α : Type u)
:
(monoOverEquivalenceSet α).unitIso = CategoryTheory.NatIso.ofComponents
(fun (f : CategoryTheory.MonoOver α) => CategoryTheory.MonoOver.isoMk (Equiv.ofInjective f.obj.hom ⋯).toIso ⋯) ⋯