NonUnitalSubrings #
Let R be a non-unital ring.
We prove that non-unital subrings are a complete lattice, and that you can map (pushforward) and
comap (pull back) them along ring homomorphisms.
We define the closure construction from Set R to NonUnitalSubring R, sending a subset of
R to the non-unital subring it generates, and prove that it is a Galois insertion.
Main definitions #
Notation used here:
(R : Type u) [NonUnitalRing R] (S : Type u) [NonUnitalRing S] (f g : R →ₙ+* S)
(A : NonUnitalSubring R) (B : NonUnitalSubring S) (s : Set R)
instance : CompleteLattice (NonUnitalSubring R): the complete lattice structure on the non-unital subrings.NonUnitalSubring.center: the center of a non-unital ringR.NonUnitalSubring.closure: non-unital subring closure of a set, i.e., the smallest non-unital subring that includes the set.NonUnitalSubring.gi:closure : Set M → NonUnitalSubring Mand coercioncoe : NonUnitalSubring M → Set Mform aGaloisInsertion.comap f B : NonUnitalSubring A: the preimage of a non-unital subringBalong the non-unital ring homomorphismfmap f A : NonUnitalSubring B: the image of a non-unital subringAalong the non-unital ring homomorphismf.Prod A B : NonUnitalSubring (R × S): the product of non-unital subringsf.range : NonUnitalSubring B: the range of the non-unital ring homomorphismf.eq_locus f g : NonUnitalSubring R: given non-unital ring homomorphismsf g : R →ₙ+* S, the non-unital subring ofRwheref x = g x
Implementation notes #
A non-unital subring is implemented as a NonUnitalSubsemiring which is also an
additive subgroup.
Lattice inclusion (e.g. ≤ and ⊓) is used rather than set notation (⊆ and ∩), although
∈ is defined as membership of a non-unital subring's underlying set.
Tags #
non-unital subring
Sum of a list of elements in a non-unital subring is in the non-unital subring.
Sum of a multiset of elements in a NonUnitalSubring of a NonUnitalRing is
in the NonUnitalSubring.
Sum of elements in a NonUnitalSubring of a NonUnitalRing indexed by a Finset
is in the NonUnitalSubring.
top #
The non-unital subring R of the ring R.
The ring equiv between the top element of NonUnitalSubring R and R.
Instances For
comap #
The preimage of a NonUnitalSubring along a ring homomorphism is a NonUnitalSubring.
Equations
Instances For
map #
The image of a NonUnitalSubring along a ring homomorphism is a NonUnitalSubring.
Equations
Instances For
A NonUnitalSubring is isomorphic to its image under an injective function
Equations
- s.equivMapOfInjective f hf = { toEquiv := Equiv.Set.image (⇑f) (↑s) hf, map_mul' := ⋯, map_add' := ⋯ }
Instances For
range #
The range of a ring homomorphism, as a NonUnitalSubring of the target.
See Note [range copy pattern].
Instances For
The range of a ring homomorphism is a fintype, if the domain is a fintype.
Note: this instance can form a diamond with Subtype.fintype in the
presence of Fintype S.
Equations
bot #
Equations
- NonUnitalSubring.instBot = { bot := NonUnitalRingHom.range 0 }
Equations
- NonUnitalSubring.instInhabited = { default := ⊥ }
inf #
The inf of two NonUnitalSubrings is their intersection.
Equations
- One or more equations did not get rendered due to their size.
Equations
- NonUnitalSubring.instInfSet = { sInf := fun (s : Set (NonUnitalSubring R)) => NonUnitalSubring.mk' (⋂ t ∈ s, ↑t) (⨅ t ∈ s, t.toSubsemigroup) (⨅ t ∈ s, t.toAddSubgroup) ⋯ ⋯ }
NonUnitalSubrings of a ring form a complete lattice.
Equations
- One or more equations did not get rendered due to their size.
Center of a ring #
The center of a ring R is the set of elements that commute with everything in R
Equations
- NonUnitalSubring.center R = { toNonUnitalSubsemiring := NonUnitalSubsemiring.center R, neg_mem' := ⋯ }
Instances For
The center is commutative and associative.
Equations
- One or more equations did not get rendered due to their size.
The center of isomorphic (not necessarily unital or associative) rings are isomorphic.
Instances For
The center of a (not necessarily unital or associative) ring is isomorphic to the center of its opposite.
Instances For
Equations
- NonUnitalSubring.decidableMemCenter x✝ = decidable_of_iff' (∀ (g : R), g * x✝ = x✝ * g) ⋯
NonUnitalSubring closure of a subset #
The NonUnitalSubring generated by a set.
Equations
- NonUnitalSubring.closure s = sInf {S : NonUnitalSubring R | s ⊆ ↑S}
Instances For
The NonUnitalSubring generated by a set includes the set.
A NonUnitalSubring t includes closure s if and only if it includes s.
NonUnitalSubring closure of a set is monotone in its argument: if s ⊆ t,
then closure s ≤ closure t.
An induction principle for closure membership. If p holds for 0, 1, and all elements
of s, and is preserved under addition, negation, and multiplication, then p holds for all
elements of the closure of s.
An induction principle for closure membership, for predicates with two arguments.
If all elements of s : Set A commute pairwise, then closure s is a commutative ring.
Equations
- NonUnitalSubring.closureNonUnitalCommRingOfComm hcomm = { toNonUnitalRing := (NonUnitalSubring.closure s).toNonUnitalRing, mul_comm := ⋯ }
Instances For
closure forms a Galois insertion with the coercion to set.
Equations
- NonUnitalSubring.gi R = { choice := fun (s : Set R) (x : ↑(NonUnitalSubring.closure s) ≤ s) => NonUnitalSubring.closure s, gc := ⋯, le_l_u := ⋯, choice_eq := ⋯ }
Instances For
Closure of a NonUnitalSubring S equals S.
Given NonUnitalSubrings s, t of rings R, S respectively, s.prod t is s ×ˢ t
as a NonUnitalSubring of R × S.
Equations
Instances For
Product of NonUnitalSubrings is isomorphic to their product as rings.
Equations
- s.prodEquiv t = { toEquiv := Equiv.Set.prod ↑s ↑t, map_mul' := ⋯, map_add' := ⋯ }
Instances For
The underlying set of a non-empty directed Sup of NonUnitalSubrings is just a union of the
NonUnitalSubrings. Note that this fails without the directedness assumption (the union of two
NonUnitalSubrings is typically not a NonUnitalSubring)
Restriction of a ring homomorphism to its range interpreted as a NonUnitalSubring.
This is the bundled version of Set.rangeFactorization.
Equations
Instances For
The range of a surjective ring homomorphism is the whole of the codomain.
The NonUnitalSubring of elements x : R such that f x = g x, i.e.,
the equalizer of f and g as a NonUnitalSubring of R
Equations
Instances For
If two ring homomorphisms are equal on a set, then they are equal on its
NonUnitalSubring closure.
The image under a ring homomorphism of the NonUnitalSubring generated by a set equals
the NonUnitalSubring generated by the image of the set.
Makes the identity isomorphism from a proof two NonUnitalSubrings of a multiplicative
monoid are equal.
Equations
- RingEquiv.nonUnitalSubringCongr h = { toEquiv := Equiv.setCongr ⋯, map_mul' := ⋯, map_add' := ⋯ }
Instances For
Restrict a ring homomorphism with a left inverse to a ring isomorphism to its
RingHom.range.
Equations
- One or more equations did not get rendered due to their size.