Agda-2.5.1: A dependently typed functional programming language and proof assistant

Safe HaskellNone
LanguageHaskell98

Agda.TypeChecking.Abstract

Description

Functions for abstracting terms over other terms.

Synopsis

Documentation

piAbstractTerm :: Term -> Type -> Type -> TCM Type Source

piAbstractTerm v a b[v] = (w : a) -> b[w]

piAbstract :: (Term, EqualityView) -> Type -> TCM Type Source

piAbstract (v, a) b[v] = (w : a) -> b[w]

For rewrite, it does something special:

piAbstract (prf, Eq a v v') b[v,prf] = (w : a) (w' : Eq a w v') -> b[w,w']

class IsPrefixOf a where Source

isPrefixOf u v = Just es if v == u applyE es.

Methods

isPrefixOf :: a -> a -> Maybe Elims Source

swap01 :: Subst Term a => a -> a Source

This swaps var 0 and var 1.