sig
type t
type r
module Ring :
sig
val eq : r -> r -> bool
val add : r -> r -> r
val zero : r
val neg : r -> r
val mul : r -> r -> r
val one : r
val to_string : r -> string
end
val eq : t -> t -> bool
val add : t -> t -> t
val zero : t
val to_string : t -> string
val neg : t -> t
val cmul : Module.Left.r -> Module.Left.t -> Module.Left.t
end