Sigma β
, also denoted Σ a : α, β a
or (a : α) × β a
, is the type of dependent pairs
whose first component is a : α
and whose second component is b : β a
(so the type of the second component can depend on the value of the first component).
It is sometimes known as the dependent sum type, since it is the type level version
of an indexed summation.
Constructor
Sigma.mk.{u, v}
Constructor for a dependent pair. If a : α
and b : β a
then ⟨a, b⟩ : Sigma β
.
(This will usually require a type ascription to determine β
since it is not determined from a
and b
alone.)
Fields
fst : α
The first component of a dependent pair. If p : @Sigma α β
then p.1 : α
.
snd : β self.fst
The second component of a dependent pair. If p : Sigma β
then p.2 : β p.1
.