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 Th36:
  K is having_valuation implies
  for x being Element of K st x <> 0.K
  ex i being Integer st v.x = i * least-positive(rng v)
  proof
    assume
A1: K is having_valuation;
    let x be Element of K such that
A2: x <> 0.K;
    reconsider vx = v.x as Element of INT by A1,A2,Def8;
    reconsider l = least-positive(rng v) as Integer by A1,Th35;
A3: v.x = (vx div l) * l + (vx mod l) by INT_1:59;
    per cases;
    suppose
A4:   vx mod l = 0;
      take vx div l;
      thus thesis by A3,A4,XXREAL_3:def 5;
    end;
    suppose
A5:   vx mod l <> 0;
      consider k being Element of K such that
A6:   l = v.k by A1,Lm5,FUNCT_2:113;
      set d = vx div l;
      set kd = k|^d;
      set kD = kd";
A7:   k <> 0.K by A1,A6,Def8;
      then
A8:   d * v.k = v.kd by A1,Th29;
A9:   -v.kd = v.kD by A1,A7,Th16,Th21;
A10:  d * l = d * v.k by A6,XXREAL_3:def 5;
A11:  v.(x*kD) = v.x - d * l by A8,A9,A10,A1,Def8
      .= vx - d * l by Lm1
      .= vx mod l by A3;
      then
A12:  0 <= v.(x*kD) by INT_1:57;
A13:  v.(x*kD) < l by A11,INT_1:58;
      v.(x*kD) in rng v by FUNCT_2:4;
      hence thesis by A12,A5,A11,A13,Def2;
    end;
  end;
