reserve a, b, n for Nat,
  r for Real,
  f for FinSequence of REAL;
reserve p for Prime;

theorem Th28:
  for a, b being non zero Nat holds
  p |-count (a*b) = (p |-count a) + (p |-count b)
proof
  let a,b be non zero Nat;
  set x = p |-count a;
  set y = p |-count b;
A1: p <> 1 by INT_2:def 4;
  then
A2: p |^ y divides b by Def7;
A3: p |^ x divides a by A1,Def7;
A4: now
    assume p |^ (x+y+1) divides a*b;
    then consider v being Nat such that
A5: a*b = p |^ (x+y+1) * v;
    p |^ (x+y+1) = p |^ (x+y) * p by NEWTON:6;
    then
A6: a*b = p |^ (x+y) * (p * v) by A5;
    consider t being Nat such that
A7: a = (p |^ x) * t by A3;
A8: not p |^ (x+1) divides a by A1,Def7;
A9: not p |^ (y+1) divides b by A1,Def7;
    consider u being Nat such that
A10: b = (p |^ y) * u by A2;
    a*b = (p |^ x) * (p |^ y) * t * u by A7,A10
      .= p |^ (x+y) * t * u by NEWTON:8
      .= p |^ (x+y) * (t * u);
    then p*v = t*u by A6,XCMPLX_1:5;
    then
A11: p divides t*u;
    per cases by A11,NEWTON:80;
    suppose
      p divides t;
      then consider t1 being Nat such that
A12:  t = p * t1;
      a = (p |^ x) * p * t1 by A7,A12
        .= p |^ (x+1) * t1 by NEWTON:6;
      hence contradiction by A8;
    end;
    suppose
      p divides u;
      then consider t1 being Nat such that
A13:  u = p * t1;
      b = (p |^ y) * p * t1 by A10,A13
        .= p |^ (y+1) * t1 by NEWTON:6;
      hence contradiction by A9;
    end;
  end;
  p |^ (x+y) = p |^ x * p |^ y by NEWTON:8;
  then p |^ (x+y) divides a*b by A3,A2,Th1;
  hence thesis by A1,A4,Def7;
end;
