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).

Lemma numq_ge0 x : (0 <= numq x) = (0 <= x).