1
Fork 0
mirror of https://github.com/Jaxan/ons-hs.git synced 2025-04-27 06:37:44 +02:00
(Mirror) Implementation of the ONS (Ordered Nominal Sets) library in Haskell
Find a file
2019-01-03 15:21:54 +01:00
app Makes the FO-solver more lazy to improve performance 2018-04-11 10:56:41 +02:00
src Renamed Orbit -> Nominal 2019-01-03 15:21:54 +01:00
test Renamed Orbit -> Nominal 2019-01-03 15:21:54 +01:00
.gitignore Initial commit 2017-10-25 11:59:12 +02:00
LICENSE Initial commit 2017-10-25 11:59:12 +02:00
ons-hs.cabal Renamed Orbit -> Nominal 2019-01-03 15:21:54 +01:00
README.md Initial commit 2017-10-25 11:59:12 +02:00
Setup.hs Initial commit 2017-10-25 11:59:12 +02:00
stack.yaml Adds trivial instances by using DerivingVia extension (needs new ghc) 2019-01-03 13:53:15 +01:00

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. 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