- (++) : (lft : Segment n gamma) -> Segment m (gamma |++ lft) -> Segment (n + m) gamma
Segments form a kind of an indexed monoid w.r.t. the action `(|++)`
Totality: total
Fixity Declaration: infixl operator, level 4- (:++) : (env : Environment gamma) -> Environment env delta -> Environment (gamma |++ delta)
- Totality: total
Fixity Declaration: infixl operator, level 3 - data Environment : Environment gamma -> Segment n gamma -> Type
- Totality: total
Constructors:
- Empty : Environment env []
- (.=) : (x : ty env) -> Environment (MkDPair env x) delta -> Environment env (ty :: delta)
- data Segment : Nat -> Telescope k -> Type
A segment is a compositional fragment of a telescope, indexed by
the segment's length.
Totality: total
Constructors:
- Nil : Segment 0 gamma
- (::) : (ty : TypeIn gamma) -> Segment n (gamma -. ty) -> Segment (S n) gamma
- actSegmentAssociative : (gamma : Telescope k) -> (lft : Segment n gamma) -> (rgt : Segment m (gamma |++ lft)) -> gamma |++ (lft ++ rgt) = (gamma |++ lft) |++ rgt
- Totality: total
- fromTelescope : Telescope k -> Segment k []
Any telescope is a segment in the empty telescope. It amounts to looking
at it left-to-right instead of right-to-left.
Totality: total- keep : (0 _ : a = b) -> a = b
- Totality: total
- projection : Environment (gamma |++ delta) -> Environment gamma
- Totality: total
- tabulate : (n : Nat) -> (Environment gamma -> Telescope n) -> Segment n gamma
A segment of size `n` indexed by `gamma` can be seen as the tabulation of a
function that turns environments for `gamma` into telescopes of size `n`.
Totality: total- toTelescope : Segment k [] -> Telescope k
Any segment in the empty telescope correspond to a telescope.
Totality: total- untabulate : Segment n gamma -> Environment gamma -> Telescope n
Conversely, a segment of size `n` in telescope `gamma` can be seen as a function
from environments for `gamma` to telescopes of size `n`.
Totality: total- weaken : TypeIn gamma -> TypeIn (gamma |++ delta)
- Totality: total
- (|++) : (gamma : Telescope k) -> Segment n gamma -> Telescope (n + k)
Segments act on telescope from the right.
Totality: total
Fixity Declaration: infixl operator, level 3