Mathlib v3 is deprecated. Go to Mathlib v4

Commit 2022-01-16 13:30 02a4775a

View on Github →

refactor(analysis/normed_space): merge normed_space and semi_normed_space (#8218) There are no theorems which are true for [normed_group M] [normed_space R M] but not [normed_group M] [semi_normed_space R M]; so there is about as much value to the semi_normed_space / normed_space distinction as there was between module / semimodule. Since we eliminated semimodule, we should eliminte semi_normed_space too. This relaxes the typeclass arguments of normed_space to make it a drop-in replacement for semi_normed_space; or viewed another way, this removes normed_space and renames semi_normed_space to replace it. This does the same thing to normed_algebra and seminormed_algebra, but these are hardly used anyway. Zulip As with any typeclass refactor, this randomly breaks elaboration in a few places; presumably, it was able to unify arguments from one particular typeclass path, but not from another. To fix this, some type ascriptions have to be added where previously none were needed. In a few rare cases, the elaborator gets so confused that we have to enter tactic mode to produce a term. This isn't really a new problem - this PR just makes these issues all visible at once, whereas normally we'd only run into one or two at a time. Optimistically Lean 4 will fix all this, but we won't really know until we try.

Estimated changes

modified theorem closure_ball
modified theorem dist_smul
modified theorem frontier_ball
modified theorem frontier_closed_ball
modified def homeomorph_unit_ball
modified theorem interior_closed_ball
modified theorem nndist_smul
modified theorem nnnorm_smul
modified theorem norm_smul
modified theorem norm_smul_of_nonneg