Fact le_rat0D x y : le_rat 0 x -> le_rat 0 y -> le_rat 0 (x + y).Fact le_rat0M x y : le_rat 0 x -> le_rat 0 y -> le_rat 0 (x * y).Fact le_rat0_anti x : le_rat 0 x -> le_rat x 0 -> x = 0.Fact subq_ge0 x y : le_rat 0 (y - x) = le_rat x y.Fact le_rat_total : total le_rat.Fact norm_ratN x : normq (- x) = normq x.Fact ge_rat0_norm x : le_rat 0 x -> normq x = x.Definition ratLeMixin := RealLeMixin le_rat0D le_rat0M le_rat0_anti
  subq_ge0 (@le_rat_total 0) norm_ratN ge_rat0_norm lt_rat_def.Canonical rat_numDomainType := NumDomainType rat ratLeMixin.Canonical rat_realDomainType := RealDomainType rat (@le_rat_total 0).

(* Specifications: *)
Lemma numq_ge0 x : (0 <= numq x) = (0 <= x).
Lemma numq_le0 x : (numq x <= 0) = (x <= 0).
Lemma numq_gt0 x : (0 < numq x) = (0 < x).
Lemma numq_lt0 x : (numq x < 0) = (x < 0).
Lemma sgr_numq x : sgz (numq x) = sgz x.