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 val inv : r -> r end