(Left) Ore sets #
This defines left Ore sets on arbitrary monoids.
References #
- https://ncatlab.org/nlab/show/Ore+set
A submonoid S
of an additive monoid R
is (left) Ore if common summands on the right can be
turned into common summands on the left, and if each pair of r : R
and s : S
admits an Ore
minuend v : R
and an Ore subtrahend u : S
such that u + r = v + s
.
Common summands on the right can be turned into common summands on the left, a weak form of cancellability.
- oreMin : R → ↥S → R
The Ore minuend of a difference.
- oreSubtra : R → ↥S → ↥S
The Ore subtrahend of a difference.
Instances
A submonoid S
of a monoid R
is (left) Ore if common factors on the right can be turned
into common factors on the left, and if each pair of r : R
and s : S
admits an Ore numerator
v : R
and an Ore denominator u : S
such that u * r = v * s
.
Common factors on the right can be turned into common factors on the left, a weak form of cancellability.
- oreNum : R → ↥S → R
The Ore numerator of a fraction.
- oreDenom : R → ↥S → ↥S
The Ore denominator of a fraction.
Instances
The Ore numerator of a fraction.
Equations
Instances For
The Ore minuend of a difference.
Equations
Instances For
The Ore denominator of a fraction.
Equations
Instances For
The Ore subtrahend of a difference.
Equations
Instances For
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
- OreLocalization.oreCondition r s = ⟨OreLocalization.oreNum r s, ⟨OreLocalization.oreDenom r s, ⋯⟩⟩
Instances For
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 difference.
Equations
- AddOreLocalization.addOreCondition r s = ⟨AddOreLocalization.oreMin r s, ⟨AddOreLocalization.oreSubtra r s, ⋯⟩⟩
Instances For
The trivial submonoid is an Ore set.
Equations
- OreLocalization.oreSetBot = { ore_right_cancel := ⋯, oreNum := fun (r : R) (x : ↥⊥) => r, oreDenom := fun (x : R) (s : ↥⊥) => s, ore_eq := ⋯ }
Equations
- AddOreLocalization.addOreSetBot = { ore_right_cancel := ⋯, oreMin := fun (r : R) (x : ↥⊥) => r, oreSubtra := fun (x : R) (s : ↥⊥) => s, ore_eq := ⋯ }
Every submonoid of a commutative monoid is an Ore set.
Equations
- OreLocalization.oreSetComm S = { ore_right_cancel := ⋯, oreNum := fun (r : R) (x : ↥S) => r, oreDenom := fun (x : R) (s : ↥S) => s, ore_eq := ⋯ }
Equations
- AddOreLocalization.addOreSetComm S = { ore_right_cancel := ⋯, oreMin := fun (r : R) (x : ↥S) => r, oreSubtra := fun (x : R) (s : ↥S) => s, ore_eq := ⋯ }