abstractType a v b[v] = b where a : v.
ModuleAgda-2.7.0.1Haskell2010
Agda.TypeChecking.Abstract
Functions for abstracting terms over other terms.
- 3 classes
- 5 values
- PackageAgda-2.7.0.1
- Exports8
- LanguageHaskell2010
- LicenceMIT
- SourceAbstract.hs
piAbstractTerm NotHidden v a b[v] = (w : a) -> b[w]
piAbstractTerm Hidden v a b[v] = {w : a} -> b[w]
piAbstract (v, a) b[v] = (w : a) -> b[w]For the inspect idiom, it does something special: @piAbstract (v, a) b[v] = (w : a) {w' : Eq a w v} -> 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']
isPrefixOf u v = Just es if v == u applyE es.
Methods
isPrefixOf :: a -> a -> Maybe Elims
Instances3IsPrefixOf
IsPrefixOf ArgsDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractIsPrefixOf ElimsDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractIsPrefixOf TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Abstract
Instances12AbsTerm, …
AbsTerm LevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractAbsTerm PlusLevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractAbsTerm SortDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractAbsTerm TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractAbsTerm TypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractAbsTerm a => AbsTerm (Arg a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractAbsTerm a => AbsTerm (Dom a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractAbsTerm a => AbsTerm (Elim' a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractAbsTerm a => AbsTerm (Maybe a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractAbsTerm a => AbsTerm [a]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Abstract(TermSubst a, AbsTerm a) => AbsTerm (Abs a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Abstract(AbsTerm a, AbsTerm b) => AbsTerm (a, b)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Abstract
This swaps var 0 and var 1.
Equality of terms for the sake of with-abstraction.
1 declarationInstances11EqualSy, …
EqualSy ArgInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractIgnore origin and free variables.
EqualSy LevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractEqualSy PlusLevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractEqualSy SortDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractEqualSy TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractEqualSy TypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractIgnores sorts.
EqualSy a => EqualSy (Arg a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractIgnores irrelevant arguments and modality. (And, of course, origin and free variables).
EqualSy a => EqualSy (Dom a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractIgnore the tactic.
EqualSy a => EqualSy (Elim' a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractEqualSy a => EqualSy [a]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Abstract(Subst a, EqualSy a) => EqualSy (Abs a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.AbstractIgnores absName.