pub trait Magma {
type Set: Eq;
// Required method
fn op(&self, x: Self::Set, y: Self::Set) -> Self::Set;
}
Expand description
マグマ。
集合 $M$ と二項演算 $\circ$ のペア $(M, \circ)$ であり、次の性質を満たす。 $$ x, y \in M \implies x \circ y \in M. $$
Examples
use nekolib::traits::Magma;
use nekolib::utils::OpMin;
let op_min = OpMin::default();
assert_eq!(3, op_min.op(3, 4));