Zulip Chat Archive
Stream: Is there code for X?
Topic: ideal.span_image
Eric Wieser (Nov 08 2021 at 09:38):
Do we have this anywhere? We have docs#submodule.span_image, but I couldn't work out how to use it here:
lemma ideal.span_image {R A} [semiring R] [semiring A] (f : R →+* A)
(s : set R) :
ideal.span (f '' s) = (ideal.span s).map f :=
begin
apply le_antisymm,
{ apply submodule.span_le.2 _,
rw ideal.map,
refine set.subset.trans _ submodule.subset_span,
rintros x ⟨r, hr, rfl⟩,
refine ⟨r, ideal.subset_span hr, rfl⟩, },
{apply ideal.map_le_of_le_comap _,
apply submodule.span_le.2 _,
rw ideal.comap,
dsimp,
rw ←set.image_subset_iff,
apply ideal.subset_span, }
end
Johan Commelin (Nov 08 2021 at 09:45):
rg -A3 "lemma.*map_span"
Johan Commelin (Nov 08 2021 at 09:45):
Something exists. But I don't know which namespace
Johan Commelin (Nov 08 2021 at 09:45):
Johan Commelin (Nov 08 2021 at 09:47):
Looks like docs#ideal.map_span is your friend
Eric Wieser (Nov 08 2021 at 09:47):
Annoying that the naming convention is the reverse of the submodule one
Eric Wieser (Nov 08 2021 at 09:47):
Thanks!
Johan Commelin (Nov 08 2021 at 09:50):
For submodule
both seem to exist
Eric Wieser (Nov 08 2021 at 09:58):
src#submodule.map_span, src#submodule.span_image
Eric Wieser (Nov 08 2021 at 09:59):
Naturally both are proved from scratch...
Johan Commelin (Nov 08 2021 at 10:01):
I fear that a library_search
-linter will be very expansive.
Eric Wieser (Nov 08 2021 at 13:34):
Dedup'd in #10219
Last updated: Dec 20 2023 at 11:08 UTC