Bundled subsemirings #
We define bundled subsemirings and some standard constructions: subtype and inclusion
ring homomorphisms.
AddSubmonoidWithOneClass S R says S is a type of subsets s ≤ R that contain 0, 1,
and are closed under (+)
Instances
Equations
- AddSubmonoidWithOneClass.toAddMonoidWithOne s = { natCast := fun (n : ℕ) => ⟨↑n, ⋯⟩, toAddMonoid := AddSubmonoidClass.toAddMonoid s, one := ⟨1, ⋯⟩, natCast_zero := ⋯, natCast_succ := ⋯ }
SubsemiringClass S R states that S is a type of subsets s ⊆ R that
are both a multiplicative and an additive submonoid.
Instances
A subsemiring of a NonAssocSemiring inherits a NonAssocSemiring structure
Equations
- One or more equations did not get rendered due to their size.
The natural ring hom from a subsemiring of semiring R to R.
Equations
- SubsemiringClass.subtype s = { toFun := Subtype.val, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
A subsemiring of a Semiring is a Semiring.
Equations
- One or more equations did not get rendered due to their size.
A subsemiring of a CommSemiring is a CommSemiring.
Equations
- SubsemiringClass.toCommSemiring s = { toSemiring := SubsemiringClass.toSemiring s, mul_comm := ⋯ }
A subsemiring of a semiring R is a subset s that is both a multiplicative and an additive
submonoid.
Instances For
Equations
- Subsemiring.instSetLike = { coe := fun (s : Subsemiring R) => s.carrier, coe_injective' := ⋯ }
The actual Subsemiring obtained from an element of a SubsemiringClass.
Equations
- Subsemiring.ofClass s = { carrier := ↑s, mul_mem' := ⋯, one_mem' := ⋯, add_mem' := ⋯, zero_mem' := ⋯ }
Instances For
Turn a Subsemiring into a NonUnitalSubsemiring by forgetting that it contains 1.
Equations
- S.toNonUnitalSubsemiring = { carrier := S.carrier, add_mem' := ⋯, zero_mem' := ⋯, mul_mem' := ⋯ }
Instances For
Two subsemirings are equal if they have the same elements.
Copy of a subsemiring with a new carrier equal to the old one. Useful to fix definitional
equalities.
Equations
Instances For
Construct a Subsemiring R from a set s, a submonoid sm, and an additive
submonoid sa such that x ∈ s ↔ x ∈ sm ↔ x ∈ sa.
Equations
- Subsemiring.mk' s sm hm sa ha = { carrier := s, mul_mem' := ⋯, one_mem' := ⋯, add_mem' := ⋯, zero_mem' := ⋯ }
Instances For
A subsemiring contains the semiring's 1.
A subsemiring contains the semiring's 0.
A subsemiring is closed under multiplication.
A subsemiring is closed under addition.
A subsemiring of a NonAssocSemiring inherits a NonAssocSemiring structure
Equations
A subsemiring of a CommSemiring is a CommSemiring.
Equations
- s.toCommSemiring = { toSemiring := s.toSemiring, mul_comm := ⋯ }
The natural ring hom from a subsemiring of semiring R to R.
Equations
- s.subtype = { toFun := Subtype.val, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The subsemiring R of the semiring R.
The inf of two subsemirings is their intersection.
Equations
- One or more equations did not get rendered due to their size.
Restriction of a ring homomorphism to a subsemiring of the domain.
Equations
- f.domRestrict s = f.comp (SubsemiringClass.subtype s)
Instances For
The subsemiring of elements x : R such that f x = g x
Equations
Instances For
Turn a non-unital subsemiring containing 1 into a subsemiring.
Equations
- S.toSubsemiring h1 = { carrier := S.carrier, mul_mem' := ⋯, one_mem' := h1, add_mem' := ⋯, zero_mem' := ⋯ }