Mathlib v3 is deprecated. Go to Mathlib v4

Commit 2020-08-29 11:21 84d47a0f

View on Github →

refactor(set_theory/game): make impartial a class (#3974)

  • Misc. style cleanups and code golf
  • Changed naming and namespace to adhere more closely to the naming convention
  • Changed impartial to be a class. I am aware that @semorrison explicitly requested not to make impartial a class in the #3855, but after working with the definition a bit I concluded that making it a class is worth it, simply because writing impartial_add (nim_impartial _) (nim_impartial _) gets annoying quite quickly, but also because you tend to get goal states of the form Grundy_value _ = Grundy_value _. By making impartial a class and making the game argument explicit, these goal states look like grundy_value G = grundy_value H, which is much nicer to work with.

Estimated changes

modified def pgame.impartial
deleted theorem pgame.impartial_add
deleted theorem pgame.impartial_add_self
deleted theorem pgame.impartial_neg
deleted theorem pgame.zero_impartial