File tree Expand file tree Collapse file tree 2 files changed +41
-0
lines changed
Mathlib/GroupTheory/MonoidLocalization Expand file tree Collapse file tree 2 files changed +41
-0
lines changed Original file line number Diff line number Diff line change @@ -3684,6 +3684,7 @@ import Mathlib.GroupTheory.IndexNormal
3684
3684
import Mathlib.GroupTheory.MonoidLocalization.Away
3685
3685
import Mathlib.GroupTheory.MonoidLocalization.Basic
3686
3686
import Mathlib.GroupTheory.MonoidLocalization.Cardinality
3687
+ import Mathlib.GroupTheory.MonoidLocalization.DivPairs
3687
3688
import Mathlib.GroupTheory.MonoidLocalization.MonoidWithZero
3688
3689
import Mathlib.GroupTheory.MonoidLocalization.Order
3689
3690
import Mathlib.GroupTheory.Nilpotent
Original file line number Diff line number Diff line change
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
You can’t perform that action at this time.
0 commit comments