Zulip Chat Archive
Stream: general
Topic: Cherry picking structure on substructures
Tomas Skrivan (Oct 29 2020 at 17:41):
I'm defining what is a smooth map between locally convex spaces. The space of all smooth maps X↠Y
is a linear subspace of the space of all functions X→Y
and I would like to inherit all the algebraic structure but I get also get all the topology, because X→Y
is pi.topological_space
if Y
is a topological space. I do not want this topology because X↠Y
should be equipped with a different topology. This prevents me from defining X↠Y
as a submodule ℝ (X→Y)
.
Is there an easy way to inherit all the algebraic structure? Or do I have to manually write down all the instances ofhas_zero
has_add
add_comm_group
... ?
Tomas Skrivan (Oct 29 2020 at 17:43):
I had a look at continuous_linear_map
and there all the algebraic structure is spelled out again manually. Isn't there a better way?
Reid Barton (Oct 29 2020 at 17:43):
You don't need to write instances that will be implied by "later" ones, e.g., if you write an instance for add_comm_group
, you can skip has_zero
and has_add
Reid Barton (Oct 29 2020 at 17:43):
(though in some other situations the has_add
instance might have more general hypotheses than add_comm_group
in which case you would need to write it explicitly)
Heather Macbeth (Oct 29 2020 at 17:45):
You might like to not write this as a literal subtype of X→Y
. Instead, define a new "bundled" object consisting of a map X→Y
plus some hypotheses (smoothness).
Heather Macbeth (Oct 29 2020 at 17:46):
Then you won't have the pesky other topological space structure. (I think.). Have a look at continuous linear maps, for an idea of what I mean: docs#continuous_linear_map
Heather Macbeth (Oct 29 2020 at 17:47):
and one gets, eg, docs#continuous_linear_map.to_normed_space
Tomas Skrivan (Oct 29 2020 at 18:01):
Heather Macbeth said:
Then you won't have the pesky other topological space structure. (I think.). Have a look at continuous linear maps, for an idea of what I mean: docs#continuous_linear_map
Ok, I will probably do it similarly as continuous_linear_map
.
Heather Macbeth (Oct 29 2020 at 18:43):
By the way, did you see that mathlib has the notion of a smooth function? docs#times_cont_diff
But this is between normed spaces, I don't know how you define smooth between locally convex spaces?
Tomas Skrivan (Oct 29 2020 at 21:53):
A smooth map transforms smooth curve to a smooth curve. To define smooth curve you just need topological vector space. Definition of smooth map on wiki
Heather Macbeth (Oct 30 2020 at 13:55):
@Tomas Skrivan you might be interested to see that @Jean Lo has just updated the old PR on local convexity to a new version #4827 that will hopefully join mathlib soon. Anyone is welcome to make comments on an open PR, and I am sure yours would be useful!
Last updated: Dec 20 2023 at 11:08 UTC