Ego (EGraphs OCaml) is an OCaml library that provides generic equality saturation using EGraphs.
The design of Ego loosely follows the design of Rust's egg library, providing a flexible interface to run equality saturation extended with custom user-defined analyses.
(* create an egraph *)let graph =EGraph.init ()(* add expressions *)let expr1 =EGraph.add_sexp graph [%s ((a <<1) /2)]
(* Convert to graphviz *)letg : Odot.graph =EGraph.to_dot graph