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());
}
```