Commit 2024-05-07 15:21 f1308d7a

View on Github →

refactor: Turn Freiman homs into predicates (#12546) The bundled hom approach to Freiman homomorphisms is a fail. It is very hard to use and doesn't bring anything. That is because Freiman homs don't have much structure and we do not study them under this angle. This PR replaces the bundled homs by predicates and moves the file from Algebra.Group.Freiman to Combinatorics.Additive.FreimanHom so that:

  • It is clear these are combinatorial objects, not algebraic ones.
  • The diff isn't completely mangled. Nothing was kept so it's not worth comparing via a naïve git diff. Also fix a few oddities accidentally introduced in #12701.

Estimated changes

deleted structure AddFreimanHom
deleted theorem FreimanHom.cancel_left_on
deleted theorem FreimanHom.cancel_right
deleted theorem FreimanHom.coe_comp
deleted theorem FreimanHom.coe_mk
deleted theorem FreimanHom.comp_apply
deleted theorem FreimanHom.comp_assoc
deleted theorem FreimanHom.comp_id
deleted def FreimanHom.const
deleted theorem FreimanHom.const_apply
deleted theorem FreimanHom.const_comp
deleted theorem FreimanHom.div_apply
deleted theorem FreimanHom.div_comp
deleted theorem FreimanHom.ext
deleted theorem FreimanHom.id_comp
deleted theorem FreimanHom.inv_apply
deleted theorem FreimanHom.inv_comp
deleted theorem FreimanHom.mk_coe
deleted theorem FreimanHom.mul_apply
deleted theorem FreimanHom.mul_comp
deleted theorem FreimanHom.one_apply
deleted theorem FreimanHom.one_comp
deleted theorem FreimanHom.toFun_eq_coe
deleted structure FreimanHom
deleted theorem map_prod_eq_map_prod