algebra
algebra copied to clipboard
Abstract algebra for Rust (still very much a WIP!)
I would like to try and separate the equality stuff from the structure traits. I'm thinking something like this: ``` rust pub trait MagmaAdditive : Add + Eq {} ```...
Current approach are not suitable for more general algebras: 1. Lattice consists of two semigroups, their operators have very similiar properties to each other and should not be assumed as...
Currently quickcheck tests for quasigroup and semigroup fail because there is overflows.
At the end of the day, the intention of this library is to provide a common basis for generic programming in Rust. It would be good to experiment with real...
The solution we chose for #18 is to parametrize traits over the operator symbol (which is identified using structs). Thus we don't have `MagmaAdditive` nor `MagmaMultiplicative` traits. The down side...
I believe this requires some actions from the repository owner(s) to activate the service.
If somebody wants to make use of algebraic properties in unsafe code, they cannot trust normal traits. Should there be some kind of unsafe marker trait that is needed for...
Given e.g. a group, there are two sensible ways to view it as a magma. In situations like this, it is not possible to express this relation via trait inheritance...