Mathlib v3 is deprecated. Go to Mathlib v4

Commit 2020-05-22 07:28 80ad9edc

View on Github →

refactor(ring_theory/localization): characterise ring localizations up to isomorphism (#2714) Beginnings of ring_theory/localization refactor from #2675. It's a bit sad that using the characteristic predicate means Lean can't infer the R-algebra structure of the localization. I've tried to get round this, but I'm not using •, and I've duplicated some fairly random lemmas about modules & algebras to take f as an explicit argument - mostly just what I needed to make fractional_ideal work. Should I duplicate more? My comments in the fractional_ideal docs about 'preserving definitional equalities' wrt getting an R-module structure from an R-algebra structure: do they make sense? I had some errors about definitional equality of instances which I think I fixed after making sure the R-module structure always came from the R-algebra structure, as well as doing a few other things. I never chased up exactly what the errors were or how they went away, so I'm just guessing at my explanation. Things I've got left to PR to ring_theory/localization after this:

  • away (localization at submonoid generated by one element)
  • localization as a quotient type & proof it satisfies the char pred
  • localization at the complement of a prime ideal and the fact this is a local ring
  • more lemmas about fields of fractions
  • the order embedding for ideals of the localization vs. ideals of the original ring

Estimated changes

added def fraction_map
deleted theorem localization.away.lift_of
deleted def localization.away
deleted theorem localization.coe_add
deleted theorem localization.coe_is_unit'
deleted theorem localization.coe_is_unit
deleted theorem localization.coe_mul
deleted theorem localization.coe_mul_mk
deleted theorem localization.coe_neg
deleted theorem localization.coe_one
deleted theorem localization.coe_pow
deleted theorem localization.coe_smul
deleted theorem localization.coe_sub
deleted theorem localization.coe_zero
added theorem localization.eq_iff_eq
added theorem localization.eq_of_eq
added theorem localization.ext
added theorem localization.ext_iff
modified theorem localization.is_integer_add
modified theorem localization.is_integer_mul
deleted def localization.lift'
deleted theorem localization.lift'_coe
deleted theorem localization.lift'_mk
deleted theorem localization.lift'_of
deleted theorem localization.lift_coe
added theorem localization.lift_comp
deleted theorem localization.lift_comp_of
added theorem localization.lift_eq
added theorem localization.lift_id
added theorem localization.lift_mk'
deleted theorem localization.lift_of
modified def localization.lin_coe
deleted def localization.map
deleted theorem localization.map_coe
deleted theorem localization.map_comap
added theorem localization.map_comp
modified theorem localization.map_comp_map
deleted theorem localization.map_comp_of
added theorem localization.map_eq
modified theorem localization.map_id
modified theorem localization.map_map
added theorem localization.map_mk'
deleted theorem localization.map_of
added theorem localization.map_units
added theorem localization.mem_coe
added theorem localization.mk'_add
added theorem localization.mk'_mul
added theorem localization.mk'_one
added theorem localization.mk'_sec
added theorem localization.mk'_self'
added theorem localization.mk'_self
added theorem localization.mk'_spec'
added theorem localization.mk'_spec
deleted def localization.mk
deleted theorem localization.mk_eq
deleted theorem localization.mk_mul_mk
deleted theorem localization.mk_self''
deleted theorem localization.mk_self'
deleted theorem localization.mk_self
deleted def localization.of
deleted theorem localization.of_add
modified theorem localization.of_id
deleted theorem localization.of_is_unit'
deleted theorem localization.of_is_unit
deleted theorem localization.of_mul
deleted theorem localization.of_neg
deleted theorem localization.of_one
deleted theorem localization.of_pow
deleted theorem localization.of_smul
deleted theorem localization.of_sub
deleted theorem localization.of_zero
deleted def localization.r
deleted theorem localization.r_of_eq
deleted theorem localization.refl
added theorem localization.sec_spec'
added theorem localization.sec_spec
added theorem localization.surj
deleted theorem localization.symm
deleted theorem localization.to_units_coe
deleted theorem localization.trans
added structure localization
deleted def localization