Submonoid of inverses #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Main definitions #
is_localization.inv_submonoid M S
is the submonoid ofS = M⁻¹R
consisting of inverses of each elementx ∈ M
Implementation notes #
See src/ring_theory/localization/basic.lean
for a design overview.
Tags #
localization, ring localization, commutative ring localization, characteristic predicate, commutative ring, field of fractions
def
is_localization.inv_submonoid
{R : Type u_1}
[comm_ring R]
(M : submonoid R)
(S : Type u_2)
[comm_ring S]
[algebra R S] :
The submonoid of S = M⁻¹R
consisting of { 1 / x | x ∈ M }
.
Equations
- is_localization.inv_submonoid M S = (submonoid.map (algebra_map R S) M).left_inv
theorem
is_localization.submonoid_map_le_is_unit
{R : Type u_1}
[comm_ring R]
(M : submonoid R)
(S : Type u_2)
[comm_ring S]
[algebra R S]
[is_localization M S] :
submonoid.map (algebra_map R S) M ≤ is_unit.submonoid S
@[reducible]
noncomputable
def
is_localization.equiv_inv_submonoid
{R : Type u_1}
[comm_ring R]
(M : submonoid R)
(S : Type u_2)
[comm_ring S]
[algebra R S]
[is_localization M S] :
↥(submonoid.map (algebra_map R S) M) ≃* ↥(is_localization.inv_submonoid M S)
There is an equivalence of monoids between the image of M
and inv_submonoid
.
noncomputable
def
is_localization.to_inv_submonoid
{R : Type u_1}
[comm_ring R]
(M : submonoid R)
(S : Type u_2)
[comm_ring S]
[algebra R S]
[is_localization M S] :
↥M →* ↥(is_localization.inv_submonoid M S)
There is a canonical map from M
to inv_submonoid
sending x
to 1 / x
.
Equations
theorem
is_localization.to_inv_submonoid_surjective
{R : Type u_1}
[comm_ring R]
(M : submonoid R)
(S : Type u_2)
[comm_ring S]
[algebra R S]
[is_localization M S] :
@[simp]
theorem
is_localization.to_inv_submonoid_mul
{R : Type u_1}
[comm_ring R]
(M : submonoid R)
(S : Type u_2)
[comm_ring S]
[algebra R S]
[is_localization M S]
(m : ↥M) :
↑(⇑(is_localization.to_inv_submonoid M S) m) * ⇑(algebra_map R S) ↑m = 1
@[simp]
theorem
is_localization.mul_to_inv_submonoid
{R : Type u_1}
[comm_ring R]
(M : submonoid R)
(S : Type u_2)
[comm_ring S]
[algebra R S]
[is_localization M S]
(m : ↥M) :
⇑(algebra_map R S) ↑m * ↑(⇑(is_localization.to_inv_submonoid M S) m) = 1
@[simp]
theorem
is_localization.smul_to_inv_submonoid
{R : Type u_1}
[comm_ring R]
(M : submonoid R)
(S : Type u_2)
[comm_ring S]
[algebra R S]
[is_localization M S]
(m : ↥M) :
m • ↑(⇑(is_localization.to_inv_submonoid M S) m) = 1
theorem
is_localization.to_inv_submonoid_eq_mk'
{R : Type u_1}
[comm_ring R]
(M : submonoid R)
{S : Type u_2}
[comm_ring S]
[algebra R S]
[is_localization M S]
(x : ↥M) :
↑(⇑(is_localization.to_inv_submonoid M S) x) = is_localization.mk' S 1 x
theorem
is_localization.mem_inv_submonoid_iff_exists_mk'
{R : Type u_1}
[comm_ring R]
(M : submonoid R)
{S : Type u_2}
[comm_ring S]
[algebra R S]
[is_localization M S]
(x : S) :
x ∈ is_localization.inv_submonoid M S ↔ ∃ (m : ↥M), is_localization.mk' S 1 m = x
theorem
is_localization.span_inv_submonoid
{R : Type u_1}
[comm_ring R]
(M : submonoid R)
(S : Type u_2)
[comm_ring S]
[algebra R S]
[is_localization M S] :
theorem
is_localization.finite_type_of_monoid_fg
{R : Type u_1}
[comm_ring R]
(M : submonoid R)
(S : Type u_2)
[comm_ring S]
[algebra R S]
[is_localization M S]
[monoid.fg ↥M] :