Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 06200c8

Browse files
kim-emjcommelin
andcommitted
feat(ring_theory/ideal): generalize to noncommutative rings (#7654)
This is a minimalist generalization of existing material on ideals to the setting of noncommutative rings. I have not attempted to decide how things should be named in the long run. For now `ideal` specifically means a left-ideal (i.e. I didn't change the definition). We can either in future add `two_sided_ideal` (or `biideal` or `ideal₂` or ...), or potentially rename `ideal` to `left_ideal` or `lideal`, etc. Future bikeshedding opportunities! In this PR I've just left definitions alone, and relaxed `comm_ring` hypotheses to `ring` as far as I could see possible. No new theorems or mathematics, just rearranging to get things in the right order. (As a side note, both `ring_theory.ideal.basic` and `ring_theory.ideal.operations` should be split into smaller files; I can try this after this PR.) Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Johan Commelin <johan@commelin.net>
1 parent 3870896 commit 06200c8

File tree

8 files changed

+285
-216
lines changed

8 files changed

+285
-216
lines changed

src/algebra/category/Module/projective.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Copyright (c) 2020 Markus Himmel. All rights reserved.
33
Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Markus Himmel, Scott Morrison
55
-/
6-
import category_theory.abelian.projective
6+
import category_theory.preadditive.projective
77
import algebra.category.Module.abelian
88
import linear_algebra.finsupp_vector_space
99
import algebra.module.projective

src/algebra/group/units.lean

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,9 +245,17 @@ theorem is_unit_one [monoid M] : is_unit (1:M) := ⟨1, rfl⟩
245245
(a b : M) (h : a * b = 1) : is_unit a :=
246246
⟨units.mk_of_mul_eq_one a b h, rfl⟩
247247

248+
@[to_additive is_add_unit.exists_neg] theorem is_unit.exists_right_inv [monoid M]
249+
{a : M} (h : is_unit a) : ∃ b, a * b = 1 :=
250+
by { rcases h with ⟨⟨a, b, hab, _⟩, rfl⟩, exact ⟨b, hab⟩ }
251+
252+
@[to_additive is_add_unit.exists_neg'] theorem is_unit.exists_left_inv [monoid M]
253+
{a : M} (h : is_unit a) : ∃ b, b * a = 1 :=
254+
by { rcases h with ⟨⟨a, b, _, hba⟩, rfl⟩, exact ⟨b, hba⟩ }
255+
248256
@[to_additive is_add_unit_iff_exists_neg] theorem is_unit_iff_exists_inv [comm_monoid M]
249257
{a : M} : is_unit a ↔ ∃ b, a * b = 1 :=
250-
by rintro ⟨⟨a, b, hab, _⟩, rfl⟩; exact ⟨b, hab⟩,
258+
λ h, h.exists_right_inv,
251259
λ ⟨b, hab⟩, is_unit_of_mul_eq_one _ b hab⟩
252260

253261
@[to_additive is_add_unit_iff_exists_neg'] theorem is_unit_iff_exists_inv' [comm_monoid M]

0 commit comments

Comments
 (0)