Zulip Chat Archive

Stream: Is there code for X?

Topic: Functor preserving binary products


Adam Topaz (Sep 21 2020 at 13:52):

Is there a preferred way to say that a functor preserves binary products?
Something like this?

def preserves_binary_products {A B : Type*} [category A] [category B]
  [has_binary_products A] [has_binary_products B] (G : A  B) :=
  Π (X Y : A), is_iso (prod.lift (G.map (limits.prod.fst : X  Y  X)) (G.map (limits.prod.snd : X  Y  Y)))

Scott Morrison (Sep 21 2020 at 14:13):

See the file preserves_binary_products.lean.

Adam Topaz (Sep 21 2020 at 14:17):

Ah thanks. I looked in the preserves folder and didn't find anything.

Adam Topaz (Sep 21 2020 at 14:17):

(It's in the shapes.constructions folder)

Scott Morrison (Sep 21 2020 at 14:18):

Indeed. That's ... suboptimal. :-)

Scott Morrison (Sep 21 2020 at 14:20):

It seems I made the limits/preserves/ subfolder, without being aware that file was already in limits/shapes/constructions/.

Scott Morrison (Sep 21 2020 at 14:21):

If you're using either of those files, feel free to clean up / relocate, etc. I may get to it someday. :-)

Bhavik Mehta (Sep 21 2020 at 14:45):

Yeah I've been thinking about moving these files as well - there's quite a bit I want to add about functors preserving things so I think it might be a good idea to shift everything into preserves

Bhavik Mehta (Sep 21 2020 at 14:46):

Also, since we have abbreviations for a category having equalizers etc, do we want abbreviations for a functor to preserve them? So far I've been using preserves_limits_of_shape walking_parallel_pair F and \fo J, preserves_limits_of_shape (discrete J) F etc but they're pretty cumbersome

Reid Barton (Sep 21 2020 at 14:49):

Like notation `⇉` := walking_parallel_pair? :upside_down:

Bhavik Mehta (Sep 21 2020 at 15:04):

I was thinking more like preserves_equalizers := preserves_limits_of_shape walking_parallel_pair F but I guess preserves_limits_of_shape ⇉ F works and for pullbacks we can use preserves_limits_of_shape →← F

Bhavik Mehta (Sep 21 2020 at 15:07):

By the way @Adam Topaz you might like to be aware of: https://github.com/leanprover-community/mathlib/pull/4163

Bhavik Mehta (Sep 21 2020 at 15:08):

After that's sorted I've also got a proof of preserves binary products + preserves terminal => preserves finite products too


Last updated: Dec 20 2023 at 11:08 UTC