pub trait Identity: Magma {
// Required method
fn id(&self) -> Self::Set;
}
Expand description
単位元を持つ。
二項演算 $\circ: M \times M \to M$ が単位元を持つことを示す。 $$ x \in M \implies x \circ e = e \circ x = e. $$
Examples
use nekolib::traits::{Identity, Magma};
use nekolib::utils::OpMin;
let op_min = OpMin::default();
let x = 3;
assert_eq!(op_min.id(), std::i32::MAX);
assert_eq!(op_min.op(x, op_min.id()), x);