Various linters #
This file defines several small linters:
ge_or_gtchecks that>and≥do not occur in the statement of theorems.dup_namespacechecks that no declaration has a duplicated namespace such aslist.list.monad.unused_argumentschecks that definitions and theorems do not have unused arguments.doc_blamechecks that every definition has a documentation string.doc_blame_thmchecks that every theorem has a documentation string (not enabled by default).def_lemmachecks that a declaration is a lemma iff its type is a proposition.check_typechecks that the statement of a declaration is well-typed.check_univschecks that there are no badmax u vuniverse levels.syn_tautchecks that declarations are not syntactic tautologies.unused_haves_sufficeschecks that declarations produced via term mode do not have ineffectualhaveorsufficesstatements
Linter against use of >/≥ #
Currently, the linter forbids the use of > and ≥ in definitions and
statements, as they cause problems in rewrites.
They are still allowed in statements such as bounded (≥) or ∀ ε > 0 or ⨆ n ≥ m,
and the linter allows that.
If you write a pattern where you bind two or more variables, like ∃ n m > 0, the linter will
flag this as illegal, but it is also allowed. In this case, add the line
@[nolint ge_or_gt] -- see Note [nolint_ge]