(Right) Ore sets #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This defines right Ore sets on arbitrary monoids.
References #
- ore_left_cancel : ∀ (r₁ r₂ : R) (s : ↥S), ↑s * r₁ = ↑s * r₂ → (∃ (s' : ↥S), r₁ * ↑s' = r₂ * ↑s')
- ore_num : R → ↥S → R
- ore_denom : R → ↥S → ↥S
- ore_eq : ∀ (r : R) (s : ↥S), r * ↑(ore_localization.ore_set.ore_denom r s) = ↑s * ore_localization.ore_set.ore_num r s
A submonoid S
of a monoid R
is (right) Ore if common factors on the left can be turned
into common factors on the right, and if each pair of r : R
and s : S
admits an Ore numerator
v : R
and an Ore denominator u : S
such that r * u = s * v
.
Instances of this typeclass
Instances of other typeclasses for ore_localization.ore_set
- ore_localization.ore_set.has_sizeof_inst
The Ore numerator of a fraction.
Equations
The Ore denominator of a fraction.
Equations
The Ore condition of a fraction, expressed in terms of ore_num
and ore_denom
.
The Ore condition bundled in a sigma type. This is useful in situations where we want to obtain both witnesses and the condition for a given fraction.
Equations
- ore_localization.ore_condition r s = ⟨ore_localization.ore_num r s, ⟨ore_localization.ore_denom r s, _⟩⟩
The trivial submonoid is an Ore set.
Every submonoid of a commutative monoid is an Ore set.
Equations
- ore_localization.ore_set_comm S = {ore_left_cancel := _, ore_num := λ (r : R) (_x : ↥S), r, ore_denom := λ (_x : R) (s : ↥S), s, ore_eq := _}
Cancellability in monoids with zeros can act as a replacement for the ore_left_cancel
condition of an ore set.
Equations
- ore_localization.ore_set_of_cancel_monoid_with_zero ore_num ore_denom ore_eq = {ore_left_cancel := _, ore_num := ore_num, ore_denom := ore_denom, ore_eq := ore_eq}
In rings without zero divisors, the first (cancellability) condition is always fulfilled, it suffices to give a proof for the Ore condition itself.
Equations
- ore_localization.ore_set_of_no_zero_divisors ore_num ore_denom ore_eq = let _inst : cancel_monoid_with_zero R := no_zero_divisors.to_cancel_monoid_with_zero in ore_localization.ore_set_of_cancel_monoid_with_zero ore_num ore_denom ore_eq