Agda- A dependently typed functional programming language and proof assistant

Safe HaskellSafe-Infered




renameP :: Subst t => Permutation -> t -> tSource

The permutation should permute the corresponding telescope. (left-to-right list)

renaming :: Permutation -> [Term]Source

If permute π : [a]Γ -> [a]Δ, then substs (renaming π) : Term Γ -> Term Δ

renamingR :: Permutation -> [Term]Source

If permute π : [a]Γ -> [a]Δ, then substs (renamingR π) : Term Δ -> Term Γ

flattenTel :: Telescope -> [Arg Type]Source

Flatten telescope: (Γ : Tel) -> [Type Γ]

reorderTel :: [Arg Type] -> Maybe PermutationSource

Order a flattened telescope in the correct dependeny order: Γ -> Permutation (Γ -> Γ~)

unflattenTel :: [String] -> [Arg Type] -> TelescopeSource

Unflatten: turns a flattened telescope into a proper telescope. Must be properly ordered.

teleNames :: Telescope -> [String]Source

Get the suggested names from a telescope

data SplitTel Source

A telescope split in two.

splitTelescope :: VarSet -> Telescope -> SplitTelSource

Split a telescope into the part that defines the given variables and the part that doesn't.

telViewUpTo :: Int -> Type -> TCM TelViewSource

telViewUpTo n t takes off the first n function types of t. Takes off all if $n < 0$.

piApplyM :: Type -> Args -> TCM TypeSource

A safe variant of piApply.