For each type in this module: inductive types list their declared constructors; opaque types list any local function whose name starts with mk and which returns a value of that type.
{
r : Denser | phase r = 0
&&
dataset r = dataset n && side r = out && channels r = filters && features r = features n + 1 && hidden r = 0
}
{
r : Denser | phase r = 0
&&
dataset r = dataset n && side r = out && channels r = channels n && features r = features n + 1 && hidden r = 0
}
{r : Denser | phase r = 1 && dataset r = dataset n && features r = features n && hidden r = 0}
{r : Denser | phase r = 1 && dataset r = dataset n && features r = features n && hidden r = hidden n + 1}
{r : Denser | phase r = 2 && dataset r = dataset n}
{r : Denser | phase r = 3 && dataset r = dataset n}
{r : Denser | phase r = 3 && dataset r = dataset n}
{r : Denser | phase r = 3 && dataset r = dataset n}