sig
  type t
  val eq : Ring.T.t -> Ring.T.t -> bool
  val add : Ring.T.t -> Ring.T.t -> Ring.T.t
  val zero : Ring.T.t
  val neg : Ring.T.t -> Ring.T.t
  val mul : Ring.T.t -> Ring.T.t -> Ring.T.t
  val one : Ring.T.t
  val to_string : Ring.T.t -> string
end