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

Safe Haskell | None
Language | Haskell2010

Agda.TypeChecking.Injectivity

Synopsis

- headSymbol :: Term -> TCM (Maybe TermHead)
- checkInjectivity :: QName -> [Clause] -> TCM FunctionInverse
- functionInverse :: Term -> TCM InvView
- data InvView
  - = Inv QName [Elim] (Map TermHead Clause)
  - | NoInv
- data MaybeAbort
  - = Abort
  - | KeepGoing
- useInjectivity :: Comparison -> Type -> Term -> Term -> TCM ()

# Documentation

headSymbol :: Term -> TCM (Maybe TermHead) #

checkInjectivity :: QName -> [Clause] -> TCM FunctionInverse #

functionInverse :: Term -> TCM InvView #

Argument should be in weak head normal form.

data InvView #

Constructors

Inv QName [Elim] (Map TermHead Clause) |
NoInv |

data MaybeAbort #

Constructors

Abort |
KeepGoing |

useInjectivity :: Comparison -> Type -> Term -> Term -> TCM () #