Zulip Chat Archive
Stream: new members
Topic: has_continuous_mul
Nicolò Cavalleri (Jul 17 2020 at 22:29):
I need to generalize topological_monoid
to topological_semigroup
. At this point I do not see why not defining
class has_continuous_mul (α : Type*) [topological_space α] [has_mul α] : Prop :=
(continuous_mul : continuous (λp:α×α, p.1 * p.2))
so, first question: does it still make sense to have topological monoid at this point? It can be obtained just by combining monoid
and has_continuous_mul
. I would just delete it. Second question: in case it is a good idea to keep topological_monoid
just for psychological reasons, I do not know how to keep it. If I define
abbreviation topological_monoid (α : Type*) [topological_space α] [monoid α]
:= topological_semigroup α
then any structure, like semiring, extending topological_monoid
breaks. Should I then make structures inherit from has_continuous_mul
and manually define coercions to topological_monoid
? I mean at this point it looks more logic to delete it and just use has_continuous_mul
. If I define it like
class topological_monoid (α : Type*) [topological_space α] [monoid α]
extends topological_semigroup α: Prop
then, because of protected inheritance, all the files that try to define a topological_monoid
with one constructor break. Is there any way to get rid of protected inheritance for this class and make it so that it can be constructed with one constructor? This is the only way I see to try to keep it.
Last updated: Dec 20 2023 at 11:08 UTC