sig
type q
val eq : Euclid.Rat.q -> Euclid.Rat.q -> bool
val ( + ) : Euclid.Rat.q -> Euclid.Rat.q -> Euclid.Rat.q
val zero : Euclid.Rat.q
val inv : Euclid.Rat.q -> Euclid.Rat.q
val ( * ) : Euclid.Rat.q -> Euclid.Rat.q -> Euclid.Rat.q
val one : Euclid.Rat.q
val ( / ) : Euclid.Rat.q -> Euclid.Rat.q -> Euclid.Rat.q
val floor : Euclid.Rat.q -> Euclid.Rat.q
val is_int : Euclid.Rat.q -> bool
end