Mathlib v3 is deprecated. Go to Mathlib v4

Commit 2022-08-10 15:00 ce9af07f

View on Github →

feat(algebra/order/to_interval_mod): reducing to an interval modulo its length (#15966) Previously I had use for the operation of reducing a real number to an interval modulo the length of that interval, in proving results about complex.arg, and as it was only being used in one place, inlined expressions in terms of int.fract and associated proofs where needed. Now I'd like to make further use of that operation, so define actual functions to reduce to an interval (Ico or Ioc, in an archimedean linear_ordered_add_comm_group) and set up associated API for those definitions. In the case of a linear_ordered_field that is a floor_ring, these definitions are proved equal to explicit expressions in terms of fract and floor. Previous uses for complex.arg are updated to illustrate the use of the new API.

Estimated changes

added theorem left_le_to_Ico_mod
added theorem left_lt_to_Ioc_mod
added theorem self_sub_to_Ico_mod
added theorem self_sub_to_Ioc_mod
added def to_Ico_div
added theorem to_Ico_div_add_left
added theorem to_Ico_div_add_right
added theorem to_Ico_div_add_zsmul
added theorem to_Ico_div_apply_left
added theorem to_Ico_div_apply_right
added theorem to_Ico_div_sub
added theorem to_Ico_div_sub_zsmul
added theorem to_Ico_div_zero_one
added theorem to_Ico_div_zsmul_add
added def to_Ico_mod
added theorem to_Ico_mod_add_left
added theorem to_Ico_mod_add_right
added theorem to_Ico_mod_add_zsmul
added theorem to_Ico_mod_apply_left
added theorem to_Ico_mod_apply_right
added theorem to_Ico_mod_eq_iff
added theorem to_Ico_mod_eq_self
added theorem to_Ico_mod_lt_right
added theorem to_Ico_mod_mem_Ico
added theorem to_Ico_mod_periodic
added theorem to_Ico_mod_sub
added theorem to_Ico_mod_sub_self
added theorem to_Ico_mod_sub_zsmul
added theorem to_Ico_mod_to_Ico_mod
added theorem to_Ico_mod_to_Ioc_mod
added theorem to_Ico_mod_zero_one
added theorem to_Ico_mod_zsmul_add
added def to_Ioc_div
added theorem to_Ioc_div_add_left
added theorem to_Ioc_div_add_right
added theorem to_Ioc_div_add_zsmul
added theorem to_Ioc_div_apply_left
added theorem to_Ioc_div_apply_right
added theorem to_Ioc_div_eq_floor
added theorem to_Ioc_div_sub
added theorem to_Ioc_div_sub_zsmul
added theorem to_Ioc_div_zsmul_add
added def to_Ioc_mod
added theorem to_Ioc_mod_add_left
added theorem to_Ioc_mod_add_right
added theorem to_Ioc_mod_add_zsmul
added theorem to_Ioc_mod_apply_left
added theorem to_Ioc_mod_apply_right
added theorem to_Ioc_mod_eq_iff
added theorem to_Ioc_mod_eq_self
added theorem to_Ioc_mod_le_right
added theorem to_Ioc_mod_mem_Ioc
added theorem to_Ioc_mod_periodic
added theorem to_Ioc_mod_sub
added theorem to_Ioc_mod_sub_self
added theorem to_Ioc_mod_sub_zsmul
added theorem to_Ioc_mod_to_Ico_mod
added theorem to_Ioc_mod_to_Ioc_mod
added theorem to_Ioc_mod_zsmul_add