Skip to content

Commit 5699bed

Browse files
KioltYaelDillies
andcommitted
feat: submonoid of pairs with quotient in a submonoid (#22635)
This submonoid is part of the definition of toric ideals. From Toric Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
1 parent 572abed commit 5699bed

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

Mathlib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3684,6 +3684,7 @@ import Mathlib.GroupTheory.IndexNormal
36843684
import Mathlib.GroupTheory.MonoidLocalization.Away
36853685
import Mathlib.GroupTheory.MonoidLocalization.Basic
36863686
import Mathlib.GroupTheory.MonoidLocalization.Cardinality
3687+
import Mathlib.GroupTheory.MonoidLocalization.DivPairs
36873688
import Mathlib.GroupTheory.MonoidLocalization.MonoidWithZero
36883689
import Mathlib.GroupTheory.MonoidLocalization.Order
36893690
import Mathlib.GroupTheory.Nilpotent
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/-
2+
Copyright (c) 2025 Yaël Dillies, Michał Mrugała. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Yaël Dillies, Michał Mrugała
5+
-/
6+
import Mathlib.GroupTheory.MonoidLocalization.Basic
7+
8+
/-!
9+
# Submonoid of pairs with quotient in a submonoid
10+
11+
This file defines the submonoid of pairs whose quotient lies in a submonoid of the localization.
12+
-/
13+
14+
variable {M G H : Type*} [CommMonoid M] [CommGroup G] [CommGroup H]
15+
{f : (⊤ : Submonoid M).LocalizationMap G} {g : (⊤ : Submonoid M).LocalizationMap H}
16+
{s : Submonoid G} {x : M × M}
17+
18+
namespace Submonoid
19+
20+
variable (f s) in
21+
/-- Given a commutative monoid `M`, a localization map `f` to its Grothendieck group `G` and
22+
a submonoid `s` of `G`, `s.divPairs f` is the submonoid of pairs `(a, b)`
23+
such that `f a / f b ∈ s`. -/
24+
@[to_additive
25+
"Given an additive commutative monoid `M`, a localization map `f` to its Grothendieck group `G` and
26+
a submonoid `s` of `G`, `s.subPairs f` is the submonoid of pairs `(a, b)`
27+
such that `f a - f b ∈ s`."]
28+
def divPairs : Submonoid (M × M) := s.comap <| divMonoidHom.comp <| f.toMap.prodMap f.toMap
29+
30+
@[to_additive (attr := simp)]
31+
lemma mem_divPairs : x ∈ divPairs f s ↔ f.toMap x.1 / f.toMap x.2 ∈ s := .rfl
32+
33+
--TODO(Yaël): make simp once `LocalizationMap.toMonoidHom` is simp nf
34+
variable (f g s) in
35+
@[to_additive]
36+
lemma divPairs_comap :
37+
divPairs g (.comap (g.mulEquivOfLocalizations f).toMonoidHom s) = divPairs f s := by
38+
ext; simp
39+
40+
end Submonoid

0 commit comments

Comments
 (0)