1
Fork 0
mirror of https://github.com/Jaxan/ons-hs.git synced 2025-04-27 14:47:45 +02:00
ons-hs/README.md
2017-10-25 11:59:12 +02:00

31 lines
1.3 KiB
Markdown

# ons-hs
Experimental implemtation of the ONS library in Haskell. It provides the basic
notion of nominal sets and maps, and their manipulations (over the total order
symmetry). It is implemented by instantiating the known representation theory,
which turns out to be quite easy for the total order symmetry.
Nominal sets are structured possibly-infinite sets. They have symmetries which
make them finitely representable. They can be used, for example, to define
infinite state systems (nominal automata). Consequently, one can then do
reachability analysis, minimisation and other automata-theoretic constructions.
Here we take nominal sets over the total order symmetry, which means that the
data-values come from the rational numbers (or any other dense linear order).
The symmetries which act upon the nominal sets are the monotone bijections on
the rationals.
The library uses an interface similar to the one provided by
[ONS](https://github.com/davidv1992/ONS). It provides basic instances and also
allows custom types to be nominal. It is purely functional.
## TODO
This will never be a fully fledged library. It is just for fun. Nevertheless, I
wish to do the following:
* Provide generic instances
* Figure out the right data-structures (List vs. Sets vs. Seqs vs. ...)
* Cleanup
* Examples
* Tests