reserve x,y,z for Real,
  a,b,c,d,e,f,g,h for Nat,
  k,l,m,n,m1,n1,m2,n2 for Integer,
  q for Rational;
reserve fs,fs1,fs2,fs3 for FinSequence;
reserve D for non empty set,
  v,v1,v2,v3 for object,
  fp for FinSequence of NAT,
  fr,fr1,fr2 for FinSequence of INT,
  ft for FinSequence of REAL;

theorem
  e>0 & (a|^e) divides (b|^e) implies a divides b
proof
  assume that
A1: e>0 and
A2: (a|^e) divides (b|^e);
  consider f be Nat such that
A3: (a|^e)*f=(b|^e) by A2,NAT_D:def 3;
A4: now
    assume that
A5: a<>0 and
    b<>0;
    a|^e<>0 by A5,CARD_4:3;
    then f=(b|^e)/(a|^e) by A3,XCMPLX_1:89
      .=(b/a)|^e by PREPOWER:8;
    then consider d such that
A6: f=d|^e by Th25;
    b|^e=(a*d)|^e by A3,A6,NEWTON:7;
    then b=a*d by A1,Th3;
    hence thesis;
  end;
A7: now
    assume
A8: a=0;
    then 0 divides (b|^e) by A1,A2,NAT_1:14,NEWTON:11;
    then ex f be Nat st 0*f=b|^e by NAT_D:def 3;
    hence thesis by A8,CARD_4:3;
  end;
  now
    assume b=0;
    then a*(0 qua Nat)=b;
    hence thesis;
  end;
  hence thesis by A7,A4;
end;
