Algexenotation is a way to represent multisets as natural numbers with algebraic compression. Inspired by Tic Xenotation. For more information, see paper.
This example shows that a triangle is 17719'.
text
0
o
/ \
1+0*1 / \ 1+2*0
/ \
1 o-------o 2
1+1*2
There are 3 nodes 0, 1, 2 in the triangle.
In Algexenotation, these are hyperprimes.
An edge from a to b is encoded 1+a*b.
The product of the 3 edges is the triangle.
```rust use algexenotation::*;
fn main() {
let n = ax!((1+01) * (1+12) * (1+2*0));
// Prints 17719'.
println!("{}", n.original());
}
```