Mathlib v3 is deprecated. Go to Mathlib v4

Commit 2020-09-14 12:41 e35e287b

View on Github →

refactor(data/nat/*): cleanup data.nat.basic, split data.nat.choose (#4135) This PR rearranges data.nat.basic so the lemmas are now in (hopefully appropriately-named) markdown sections. It also moves several sections (mostly ones that introduced new defs) into new files:

  • data.nat.fact
  • data.nat.psub (maybe this could be named data.nat.partial?)
  • data.nat.log
  • data.nat.with_bot data.nat.choose has been split into a directory:
  • The definition of nat.choose and basic lemmas about it have been moved from data.nat.basic into data.nat.choose.basic
  • The binomial theorem and related lemmas involving sums are now in data.nat.choose.sum; the following lemmas are now in the nat namespace:
    • sum_range_choose
    • sum_range_choose_halfway
    • choose_middle_le_pow
  • Divisibility properties of binomial coefficients are now in data.nat.choose.dvd. Other changes:
  • added nat.pow_two_sub_pow_two to data.nat.basic.
  • module docs & doc strings for data.nat.sqrt

Estimated changes

deleted def nat.choose
deleted theorem nat.choose_eq_zero_of_lt
deleted theorem nat.choose_mul_succ_eq
deleted theorem nat.choose_one_right
deleted theorem nat.choose_pos
deleted theorem nat.choose_self
deleted theorem nat.choose_succ_right_eq
deleted theorem nat.choose_succ_self
deleted theorem nat.choose_succ_succ
deleted theorem nat.choose_symm
deleted theorem nat.choose_symm_add
deleted theorem nat.choose_symm_half
deleted theorem nat.choose_symm_of_eq_add
deleted theorem nat.choose_two_right
deleted theorem nat.choose_zero_right
deleted theorem nat.choose_zero_succ
deleted theorem nat.dvd_fact
modified theorem nat.eq_of_mul_eq_mul_right
deleted def nat.fact
deleted theorem nat.fact_dvd_fact
deleted theorem nat.fact_eq_one
deleted theorem nat.fact_inj
deleted theorem nat.fact_le
deleted theorem nat.fact_lt
deleted theorem nat.fact_mul_pow_le_fact
deleted theorem nat.fact_ne_zero
deleted theorem nat.fact_one
deleted theorem nat.fact_pos
deleted theorem nat.fact_succ
deleted theorem nat.fact_zero
modified theorem nat.le_induction
modified theorem nat.le_rec_on_self
deleted def nat.log
deleted theorem nat.log_pow
deleted theorem nat.monotone_fact
deleted theorem nat.one_lt_fact
deleted theorem nat.pow_le_iff_le_log
deleted theorem nat.pow_log_le_self
deleted theorem nat.pow_succ_log_gt_self
deleted def nat.ppred
deleted theorem nat.ppred_eq_none
deleted theorem nat.ppred_eq_pred
deleted theorem nat.ppred_eq_some
deleted theorem nat.pred_eq_ppred
deleted def nat.psub
deleted theorem nat.psub_add
deleted theorem nat.psub_eq_none
deleted theorem nat.psub_eq_some
deleted theorem nat.psub_eq_sub
deleted theorem nat.sub_eq_psub
deleted theorem nat.succ_mul_choose_eq
deleted theorem nat.triangle_succ
deleted theorem nat.with_bot.coe_nonneg
deleted theorem nat.with_bot.lt_zero_iff
deleted theorem add_pow
deleted theorem choose_le_middle
deleted theorem choose_middle_le_pow
deleted theorem commute.add_pow
deleted theorem nat.prime.dvd_choose_add
deleted theorem nat.prime.dvd_choose_self
deleted theorem sum_range_choose
deleted theorem sum_range_choose_halfway
added theorem nat.dvd_fact
added def nat.fact
added theorem nat.fact_dvd_fact
added theorem nat.fact_eq_one
added theorem nat.fact_inj
added theorem nat.fact_le
added theorem nat.fact_lt
added theorem nat.fact_ne_zero
added theorem nat.fact_one
added theorem nat.fact_pos
added theorem nat.fact_succ
added theorem nat.fact_zero
added theorem nat.monotone_fact
added theorem nat.one_lt_fact
added def nat.ppred
added theorem nat.ppred_eq_none
added theorem nat.ppred_eq_pred
added theorem nat.ppred_eq_some
added theorem nat.pred_eq_ppred
added def nat.psub
added theorem nat.psub_add
added theorem nat.psub_eq_none
added theorem nat.psub_eq_some
added theorem nat.psub_eq_sub
added theorem nat.sub_eq_psub