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

Safe Haskell | Safe-Infered

Agda.TypeChecking.Rules.LHS.Split

Synopsis

- asView :: Pattern -> ([Name], Pattern)
- expandLitPattern :: NamedArg Pattern -> TCM (NamedArg Pattern)
- splitProblem :: Problem -> TCM (Either SplitError SplitProblem)
- wellFormedIndices :: [Arg Term] -> [Arg Term] -> TCM ()

# Documentation

asView :: Pattern -> ([Name], Pattern)

TODO: move to Agda.Syntax.Abstract.View

expandLitPattern :: NamedArg Pattern -> TCM (NamedArg Pattern)

TODO: move somewhere else

splitProblem :: Problem -> TCM (Either SplitError SplitProblem)

Split a problem at the first constructor of datatype type. Implicit patterns should have been inserted.

wellFormedIndices

Arguments

:: [Arg Term] | Parameters.
-> [Arg Term] | Indices.
-> TCM () |

Checks that the indices are constructors (or literals) applied to distinct variables which do not occur free in the parameters.