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):

docs#map_span

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