Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- telePiPath :: (Abs Type -> Abs Type) -> ([Arg ArgName] -> Term -> Term) -> Telescope -> Type -> Boundary -> TCM Type
- telePiPath_ :: Telescope -> Type -> [(Int, (Term, Term))] -> TCM Type
- arityPiPath :: Type -> TCM Int
- iApplyVars :: DeBruijn a => [NamedArg (Pattern' a)] -> [Int]
- isInterval :: (MonadTCM m, MonadReduce m) => Type -> m Bool
Documentation
telePiPath :: (Abs Type -> Abs Type) -> ([Arg ArgName] -> Term -> Term) -> Telescope -> Type -> Boundary -> TCM Type Source #
In an ambient context Γ, telePiPath f lams Δ t bs
builds a type that
can be telViewPathBoundaryP'ed
into (TelV Δ t, bs').
Γ.Δ ⊢ t
bs = [(i,u_i)]
Δ = Δ0,(i : I),Δ1
∀ b ∈ {0,1}. Γ.Δ0 | lams Δ1 (u_i .b) : (telePiPath f Δ1 t bs)(i = b) -- kinda: see lams
Γ ⊢ telePiPath f Δ t bs
telePiPath_ :: Telescope -> Type -> [(Int, (Term, Term))] -> TCM Type Source #
telePiPath_ Δ t [(i,u)]
Δ ⊢ t
i ∈ Δ
Δ ⊢ u_b : t for b ∈ {0,1}
arityPiPath :: Type -> TCM Int Source #
arity of the type, including both Pi and Path. Does not reduce the type.
isInterval :: (MonadTCM m, MonadReduce m) => Type -> m Bool Source #