The COFE structure on many types can be easily obtained by pointwise lifting of the structure of the components.

This is what we do for option $\maybe\cofe$, product $(M_i)_{i \in I}$ (with $I$ some finite index set), sum $\cofe+\cofe'$ and finite partial functions $K \fpfn\monoid$ (with $K$ infinite countable).

\subsection{Next (type-level later)}

\subsection{Next (type-level later)}

Given a COFE $\cofe$, we define $\latert\cofe$ as follows (using a datatype-like notation to define the type):

Given a COFE $\cofe$, we define $\latert\cofe$ as follows (using a datatype-like notation to define the type):

...

@@ -75,6 +80,16 @@ The composition and core for $\cinr$ are defined symmetrically.

...

@@ -75,6 +80,16 @@ The composition and core for $\cinr$ are defined symmetrically.

The remaining cases of the composition and core are all $\bot$.

The remaining cases of the composition and core are all $\bot$.

Above, $\mval'$ refers to the validity of $\monoid_1$, and $\mval''$ to the validity of $\monoid_2$.

Above, $\mval'$ refers to the validity of $\monoid_1$, and $\mval''$ to the validity of $\monoid_2$.

The step-indexed equivalence is inductively defined as follows: