Various linters #
This file defines several small linters:
ge_or_gt
checks that>
and≥
do not occur in the statement of theorems.dup_namespace
checks that no declaration has a duplicated namespace such aslist.list.monad
.unused_arguments
checks that definitions and theorems do not have unused arguments.doc_blame
checks that every definition has a documentation string.doc_blame_thm
checks that every theorem has a documentation string (not enabled by default).def_lemma
checks that a declaration is a lemma iff its type is a proposition.check_type
checks that the statement of a declaration is well-typed.check_univs
checks that there are no badmax u v
universe levels.syn_taut
checks that declarations are not syntactic tautologies.unused_haves_suffices
checks that declarations produced via term mode do not have ineffectualhave
orsuffices
statements
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]