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

Agda.Interaction.MakeCase

Synopsis

# Documentation

Arguments

 :: QName The function name. -> Telescope The telescope of the clause we are splitting. -> InteractionId The hole of this function we are working on. -> Range The range of this hole. -> [String] The words the user entered in this hole (variable names). -> TCM [(Int, NameInScope)] The computed de Bruijn indices of the variables to split on, with information about whether each variable is in scope.

Parse variables (visible or hidden), returning their de Bruijn indices. Used in makeCase.

type ClauseZipper = ([Clause], Clause, [Clause]) Source #

Lookup the clause for an interaction point in the signature. Returns the CaseContext, the previous clauses, the clause itself, and a list of the remaining ones.

Entry point for case splitting tactic.

Make the given pattern variables visible by marking their origin as CaseSplit and pattern origin as PatOSplit in the SplitClause.

Make clause with no rhs (because of absurd match).

Make a clause with a question mark as rhs.