Agda.TypeChecking.Substitute
- class Apply t where
- piApply :: Type -> Args -> Type
- class Abstract t where
- abstractArgs :: Abstract a => Args -> a -> a
- type Substitution = [Term]
- class Subst t where
- substs :: Substitution -> t -> t
- substUnder :: Nat -> Term -> t -> t
- idSub :: Telescope -> Substitution
- subst :: Subst t => Term -> t -> t
- absApp :: Subst t => Abs t -> Term -> t
- class Raise t where
- raise :: Raise t => Nat -> t -> t
- data TelView = TelV Telescope Type
- telView' :: Type -> TelView
- telePi :: Telescope -> Type -> Type
- telePi_ :: Telescope -> Type -> Type
- dLub :: Sort -> Abs Sort -> Sort
Documentation
Apply something to a bunch of arguments. Preserves blocking tags (application can never resolve blocking).
Instances
| Apply Permutation | |
| Apply ClauseBody | |
| Apply Clause | |
| Apply Clauses | |
| Apply Sort | |
| Apply Type | |
| Apply Term | |
| Apply CompiledClauses | |
| Apply FunctionInverse | |
| Apply PrimFun | |
| Apply Defn | |
| Apply Definition | |
| Apply DisplayTerm | |
| Apply t => Apply [t] | |
| Apply t => Apply (Maybe t) | |
| Subst a => Apply (Tele a) | |
| Apply t => Apply (Blocked t) | |
| Apply a => Apply (Case a) | |
| (Apply a, Apply b) => Apply (a, b) | |
| Apply v => Apply (Map k v) | |
| (Apply a, Apply b, Apply c) => Apply (a, b, c) |
piApply :: Type -> Args -> TypeSource
The type must contain the right number of pis without have to perform any reduction.
(abstract args v) args --> v[args].
Instances
| Abstract Permutation | |
| Abstract ClauseBody | |
| Abstract Clause | |
| Abstract Clauses | |
| Abstract Telescope | |
| Abstract Sort | |
| Abstract Type | |
| Abstract Term | |
| Abstract CompiledClauses | |
| Abstract FunctionInverse | |
| Abstract PrimFun | |
| Abstract Defn | |
| Abstract Definition | |
| Abstract t => Abstract [t] | |
| Abstract t => Abstract (Maybe t) | |
| Abstract a => Abstract (Case a) | |
| Abstract v => Abstract (Map k v) |
abstractArgs :: Abstract a => Args -> a -> aSource
type Substitution = [Term]Source
Substitutions.
Substitute a term for the nth free variable.
Instances
| Subst Pattern | |
| Subst ClauseBody | |
| Subst Sort | |
| Subst Type | |
| Subst Term | |
| Subst DisplayTerm | |
| Subst Equality | |
| Subst AsBinding | |
| Subst DotPatternInst | |
| Subst a => Subst [a] | |
| Subst a => Subst (Maybe a) | |
| Subst a => Subst (Arg a) | |
| Subst a => Subst (Abs a) | |
| Subst a => Subst (Tele a) | |
| Subst t => Subst (Blocked t) | |
| (Subst a, Subst b) => Subst (a, b) |
idSub :: Telescope -> SubstitutionSource
Add k to index of each open variable in x.
Instances
| Raise Pattern | |
| Raise Sort | |
| Raise Type | |
| Raise Term | |
| Raise DisplayTerm | |
| Raise DisplayForm | |
| Raise AsBinding | |
| Raise t => Raise [t] | |
| Raise t => Raise (Maybe t) | |
| Raise t => Raise (Arg t) | |
| Raise t => Raise (Abs t) | |
| Raise a => Raise (Tele a) | |
| Raise t => Raise (Blocked t) | |
| (Raise a, Raise b) => Raise (a, b) | |
| Raise v => Raise (Map k v) |