attr ::= ... |grind
Marks a theorem or definition for use by the `grind` tactic. An optional modifier (e.g. `=`, `→`, `←`, `cases`, `intro`, `ext`, `inj`, etc.) controls how `grind` uses the declaration: * whether it is applied forwards, backwards, or both, * whether equalities are used on the left, right, or both sides, * whether case-splits, constructors, extensionality, or injectivity are applied, * or whether custom instantiation patterns are used. See the individual modifier docstrings for details.
cases
The `cases` modifier marks inductively-defined predicates as suitable for case splitting.
The cases
modifier marks inductively-defined predicates as suitable for case splitting.