Bundled non-unital subsemirings #
We define bundled non-unital subsemirings and some standard constructions:
subtype and inclusion ring homomorphisms.
This lemma exists for aesop, as aesop simplifies -x * y to -(x * y) before applying
unsafe rules like mul_mem, leading to a dead end in cases where neg_mem does not hold.
This lemma exists for aesop, as aesop simplifies x * -y to -(x * y) before applying
unsafe rules like mul_mem, leading to a dead end in cases where neg_mem does not hold.
NonUnitalSubsemiringClass S R states that S is a type of subsets s ⊆ R that
are both an additive submonoid and also a multiplicative subsemigroup.
Instances
A non-unital subsemiring of a NonUnitalNonAssocSemiring inherits a
NonUnitalNonAssocSemiring structure
Equations
- One or more equations did not get rendered due to their size.
The natural non-unital ring hom from a non-unital subsemiring of a non-unital semiring R to
R.
Equations
- NonUnitalSubsemiringClass.subtype s = { toFun := Subtype.val, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
A non-unital subsemiring of a NonUnitalSemiring is a NonUnitalSemiring.
Equations
- NonUnitalSubsemiringClass.toNonUnitalSemiring s = { toNonUnitalNonAssocSemiring := NonUnitalSubsemiringClass.toNonUnitalNonAssocSemiring s, mul_assoc := ⋯ }
A non-unital subsemiring of a NonUnitalCommSemiring is a NonUnitalCommSemiring.
Equations
- NonUnitalSubsemiringClass.toNonUnitalCommSemiring s = { toNonUnitalSemiring := NonUnitalSubsemiringClass.toNonUnitalSemiring s, mul_comm := ⋯ }
Note: currently, there are no ordered versions of non-unital rings.
A non-unital subsemiring of a non-unital semiring R is a subset s that is both an additive
submonoid and a semigroup.
Instances For
Equations
- NonUnitalSubsemiring.instSetLike = { coe := fun (s : NonUnitalSubsemiring R) => s.carrier, coe_injective' := ⋯ }
The actual NonUnitalSubsemiring obtained from an element of a NonUnitalSubsemiringClass.
Equations
- NonUnitalSubsemiring.ofClass s = { carrier := ↑s, add_mem' := ⋯, zero_mem' := ⋯, mul_mem' := ⋯ }
Instances For
Two non-unital subsemirings are equal if they have the same elements.
Copy of a non-unital subsemiring with a new carrier equal to the old one. Useful to fix
definitional equalities.
Instances For
Construct a NonUnitalSubsemiring R from a set s, a subsemigroup sg, and an additive
submonoid sa such that x ∈ s ↔ x ∈ sg ↔ x ∈ sa.
Equations
- NonUnitalSubsemiring.mk' s sg hg sa ha = { carrier := s, add_mem' := ⋯, zero_mem' := ⋯, mul_mem' := ⋯ }
Instances For
Note: currently, there are no ordered versions of non-unital rings.
The non-unital subsemiring R of the non-unital semiring R.
Equations
- NonUnitalSubsemiring.instInhabited = { default := ⊥ }
The inf of two non-unital subsemirings is their intersection.
Equations
- One or more equations did not get rendered due to their size.
Restriction of a non-unital ring homomorphism to a non-unital subsemiring of the codomain.
Equations
Instances For
The non-unital subsemiring of elements x : R such that f x = g x
Equations
Instances For
The non-unital ring homomorphism associated to an inclusion of non-unital subsemirings.