Category of types with an omega complete partial order #
In this file, we bundle the class OmegaCompletePartialOrder
into a
concrete category and prove that continuous functions also form
an OmegaCompletePartialOrder
.
Main definitions #
ωCPO
- an instance of
Category
andConcreteCategory
- an instance of
The category of types with an omega complete partial order.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- ωCPO.instConcreteCategory = id inferInstance
Equations
- ωCPO.instCoeSortType = CategoryTheory.Bundled.coeSort
Construct a bundled ωCPO from the underlying type and typeclass.
Equations
Instances For
Equations
- ωCPO.instInhabited = { default := ωCPO.of PUnit.{?u.3 + 1} }
Equations
- α.instOmegaCompletePartialOrderα = α.str
The pi-type gives a cone for a product.
Equations
- ωCPO.HasProducts.product f = CategoryTheory.Limits.Fan.mk (ωCPO.of ((j : J) → ↑(f j))) fun (j : J) => { toOrderHom := Pi.evalOrderHom j, map_ωSup' := ⋯ }
Instances For
The pi-type is a limit cone for the product.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
instance
ωCPO.omegaCompletePartialOrderEqualizer
{α : Type u_1}
{β : Type u_2}
[OmegaCompletePartialOrder α]
[OmegaCompletePartialOrder β]
(f : α →𝒄 β)
(g : α →𝒄 β)
:
OmegaCompletePartialOrder { a : α // f a = g a }
Equations
- ωCPO.omegaCompletePartialOrderEqualizer f g = OmegaCompletePartialOrder.subtype (fun (a : α) => f a = g a) ⋯
def
ωCPO.HasEqualizers.equalizerι
{α : Type u_1}
{β : Type u_2}
[OmegaCompletePartialOrder α]
[OmegaCompletePartialOrder β]
(f : α →𝒄 β)
(g : α →𝒄 β)
:
The equalizer inclusion function as a ContinuousHom
.
Equations
- ωCPO.HasEqualizers.equalizerι f g = { toOrderHom := OrderHom.Subtype.val fun (a : α) => f a = g a, map_ωSup' := ⋯ }
Instances For
A construction of the equalizer fork.
Equations
Instances For
The equalizer fork is a limit.
Equations
- One or more equations did not get rendered due to their size.