reserve x, y, z, s for ExtReal;
reserve i, j for Integer;
reserve n, m for Nat;
reserve x, y, v, u for ExtInt;
reserve
  D for non empty doubleLoopStr,
  A for Subset of D;
reserve K for Field-like non degenerated
  associative add-associative right_zeroed right_complementable
  distributive Abelian non empty doubleLoopStr,
  a, b, c for Element of K;
reserve v for Valuation of K;

theorem Th24:
  K is having_valuation & b <> 0.K & 0 <= v.(a/b) implies v.b <= v.a
  proof
    assume that
A1: K is having_valuation and
A2: b <> 0.K and
A3: 0 <= v.(a/b);
A4: v.(a/b) = v.a - v.b by A1,A2,Th22;
    per cases;
    suppose a = 0.K;
      then v.a = +infty by A1,Def8;
      hence v.b <= v.a by XXREAL_0:3;
    end;
    suppose a <> 0.K;
      then v.a in INT & v.b in INT by A1,A2,Def8;
      then reconsider a1 = v.a, b1 = v.b as Element of REAL by XREAL_0:def 1;
A5:   a1 - b1 + b1 = a1;
      a1 - b1 = v.a - v.b by Lm1;
      then
A6:   v.(a/b) + v.b = v.a by A4,A5,XXREAL_3:def 2;
      0 + v.b <= v.(a/b) + v.b by A3,XXREAL_3:35;
      hence v.b <= v.a by A6,XXREAL_3:4;
    end;
  end;
