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

Agda.TypeChecking.LevelConstraints

Synopsis

# Documentation

Arguments

 :: Constraint Constraint c to simplify. -> [Constraint] Other constraints, enable simplification. -> Maybe [Constraint] Just: list of constraints equal to the original c. Nothing: no simplification possible.

simplifyLevelConstraint c cs turns an c into an equality constraint if it is an inequality constraint and the reverse inequality is contained in cs.

The constraints don't necessarily have to live in the same context, but they do need to be universally quanitfied over the context. This function takes care of renaming variables when checking for matches.