This PR cleans up the `Option` development, upstreaming some results from mathlib in the process. Notable changes: - the name `<op>_eq_some_iff` is preferred over `<op>_eq_some` - the `simp` normal form for `<$>` is `Option.map`, for `>>=` is `Option.bind` and for `<|>` is `Option.orElse` (for the former two, this was already true before this PR). All further lemmas about these operations are now stated only in terms of `Option.map`/`Option.bind`/`Option.orElse`. Previously, in some cases both versions were available, with a prime used to disambiguate (the primed version was usually the "non-ascii-art" version). Now, there are no lemmas about the ascii-art versions besides the ones turning them into the non-ascii-art operations, and there is only one version of every lemma, about the non-ascii-art operation, and named without a prime. |
||
|---|---|---|
| .. | ||
| bench | ||
| compiler | ||
| elabissues | ||
| ir | ||
| lean | ||
| pkg | ||
| playground | ||
| plugin | ||
| simpperf | ||
| .gitignore | ||
| common.sh | ||
| lean-toolchain | ||