# Commit 2021-10-27 07:01 d9cea393

View on Github →refactor(topology+algebraic_geometry): prove and make use of equalities to simplify definitions (#9972)
Prove and make use of equalities whenever possible, even between functors (which is discouraged according to certain philosophy), to replace isomorphisms by equalities, to remove the need of transporting across isomorphisms in various definitions (using `eq_to_hom`

directly), most notably: simplified definition of identity morphism for PresheafedSpace, simplified extensionality lemma for morphisms, simplified definition of composition and the global section functor (takes advantage of defeq and doesn't require proving any new equality).
Other small changes to mathlib:

- Define pushforward functor of presheaves in topology/sheaves/presheaf.lean
- Add new file functor.lean in topology/sheaves, proves the pushforward of a sheaf is a sheaf, and defines the pushforward functor of sheaves, with the expectation that pullbacks will be added later.
- Make one of the arguments in various
`restrict`

s implicit. - Change statement of
`to_open_comp_comap`

in structure_sheaf.lean to be more general (the same proof works!) The new definitions result in simplified proofs, but apart from the main files opens.lean, presheaf.lean and presheafed_space.lean where proofs are optimized, I did only the minimum changes required to fix the broken proofs, and I expect there to be large room of improvement with the new definitions especially in the files changed in this PR. I also didn't remove the old lemmas and mostly just add new ones, so subsequent cleanup may be desired.