pub trait Ring {
type Set: Eq;
type Additive: CommutativeGroup<Set = Self::Set>;
type Multiplicative: Monoid<Set = Self::Set> + Distributive<Self::Additive>;
// Required methods
fn additive(&self) -> &Self::Additive;
fn multiplicative(&self) -> &Self::Multiplicative;
// Provided methods
fn add(&self, x: Self::Set, y: Self::Set) -> Self::Set { ... }
fn zero(&self) -> Self::Set { ... }
fn neg(&self, x: Self::Set) -> Self::Set { ... }
fn mul(&self, x: Self::Set, y: Self::Set) -> Self::Set { ... }
fn one(&self) -> Self::Set { ... }
}
Expand description
環。
集合 と二つの二項演算 , の組 であり、次の性質を満たす。
- は可換群をなす。
- はモノイドをなす。
- 乗法 は加法 について分配法則を満たす。
Required Associated Types§
sourcetype Additive: CommutativeGroup<Set = Self::Set>
type Additive: CommutativeGroup<Set = Self::Set>
可換群 に対応する型。
sourcetype Multiplicative: Monoid<Set = Self::Set> + Distributive<Self::Additive>
type Multiplicative: Monoid<Set = Self::Set> + Distributive<Self::Additive>
モノイド に対応する型。