reserve m, n for Nat;

theorem Th55:
  for n being non zero Nat holds Radical n divides n
proof
  defpred P[Nat] means for n being non zero Nat st
  support PFactors n c= Seg $1 holds Radical n divides n;
  let n be non zero Nat;
A1: ex mS being Element of NAT st support ppf n c= Seg mS by Th14;
A2: support ppf n = support pfexp n by NAT_3:def 9
    .= support PFactors n by Def6;
A3: for k being Nat st P[k] holds P[k+1]
  proof
    let k be Nat;
    assume
A4: P[k];
    let n be non zero Nat such that
A5: support PFactors n c= Seg (k+1);
A6: support pfexp n = support PFactors n by Def6;
    per cases;
    suppose
A7:   not support PFactors n c= Seg k;
      set p = k+1;
      set e = p |-count n;
      set s = p |^ e;
A8:   now
        assume
A9:     not k+1 in support PFactors n;
        support PFactors n c= Seg k
        proof
          let x be object;
          assume
A10:      x in support PFactors n;
          then reconsider m = x as Nat;
          m <= k+1 by A5,A10,FINSEQ_1:1;
          then m < k+1 by A9,A10,XXREAL_0:1;
          then
A11:      m <= k by NAT_1:13;
          x is Prime by A6,A10,NAT_3:34;
          then 1 <= m by INT_2:def 4;
          hence thesis by A11,FINSEQ_1:1;
        end;
        hence contradiction by A7;
      end;
      then
A12:  p is Prime by A6,NAT_3:34;
      then
A13:  p > 1 by INT_2:def 4;
      then s divides n by NAT_3:def 7;
      then consider t being Nat such that
A14:  n = s * t by NAT_D:def 3;
      reconsider s, t as non zero Nat by A14;
      consider f being FinSequence of COMPLEX such that
A15:  Product PFactors s = Product f and
A16:  f = (PFactors s)*canFS(support PFactors s) by NAT_3:def 5;
A17:  dom PFactors s = SetPrimes by PARTFUN1:def 2;
A18:  support ppf s = support pfexp s by NAT_3:def 9;
      then
A19:  support ppf s = support PFactors s by Def6;
      (pfexp n).p = e by A12,NAT_3:def 8;
      then
A20:  e <> 0 by A6,A8,PRE_POLY:def 7;
      then
A21:  support ppf s = {p} by A12,A18,NAT_3:42;
      then
A22:  p in support pfexp s by A18,TARSKI:def 1;
A23:  support PFactors t c= Seg k
      proof
        set f = p |-count t;
        let x be object;
        assume
A24:    x in support PFactors t;
        then reconsider m = x as Nat;
A25:    x in support pfexp t by A24,Def6;
A26:    now
          assume
A27:      m = p;
          (pfexp t).p = f by A12,NAT_3:def 8;
          then f <> 0 by A25,A27,PRE_POLY:def 7;
          then f >= 0+1 by NAT_1:13;
          then consider g being Nat such that
A28:      f = 1 + g by NAT_1:10;
          p |^ f divides t by A13,NAT_3:def 7;
          then consider u being Nat such that
A29:      t = (p |^ f)*u by NAT_D:def 3;
          reconsider g as Element of NAT by ORDINAL1:def 12;
          n = s * (((p |^ g)*p)*u) by A14,A28,A29,NEWTON:6
            .= s*p * ((p |^ g)*u)
            .= (p |^ (e+1))*((p |^ g)*u) by NEWTON:6;
          then p |^ (e+1) divides n by NAT_D:def 3;
          hence contradiction by A13,NAT_3:def 7;
        end;
        support pfexp t c= support pfexp n by A14,NAT_3:45;
        then support PFactors t c= support PFactors n by A6,Def6;
        then m in support PFactors n by A24;
        then m <= k+1 by A5,FINSEQ_1:1;
        then m < p by A26,XXREAL_0:1;
        then
A30:    m <= k by NAT_1:13;
        x is Prime by A25,NAT_3:34;
        then 1 <= m by INT_2:def 4;
        hence thesis by A30,FINSEQ_1:1;
      end;
      then
A31:  Radical t divides t by A4;
      support PFactors s = {p} by A18,A21,Def6;
      then f = (PFactors s)*<*p*> by A16,FINSEQ_1:94
        .= <* (PFactors s).p *> by A8,A17,FINSEQ_2:34;
      then Product PFactors s = (PFactors s).p by A15,RVSUM_1:95
        .= p by A22,Def6;
      then
A32:  Radical s divides s by A20,NAT_3:3;
      reconsider s1 = s, t1 = t as non zero Element of NAT by ORDINAL1:def 12;
      support ppf t = support pfexp t by NAT_3:def 9;
      then
A33:  support ppf t = support PFactors t by Def6;
A34:  now
        assume (support ppf s) meets (support ppf t);
        then consider x being object such that
A35:    x in support ppf s and
A36:    x in support ppf t by XBOOLE_0:3;
        x in support pfexp t by A36,NAT_3:def 9;
        then
A37:    x in support PFactors t by Def6;
        x = p by A21,A35,TARSKI:def 1;
        then p <= k by A23,A37,FINSEQ_1:1;
        hence contradiction by NAT_1:13;
      end;
      s1,t1 are_coprime
      proof
        set u = s1 gcd t1;
A38:    u divides t1 by NAT_D:def 5;
        u <> 0 by INT_2:5;
        then
A39:    0+1 <= u by NAT_1:13;
        assume not s1,t1 are_coprime;
        then s1 gcd t1 <> 1 by INT_2:def 3;
        then u > 1 by A39,XXREAL_0:1;
        then u >= 1+1 by NAT_1:13;
        then consider r being Element of NAT such that
A40:    r is prime and
A41:    r divides u by INT_2:31;
        u divides s1 by NAT_D:def 5;
        then r divides s1 by A41,NAT_D:4;
        then r divides p by A40,NAT_3:5;
        then r = 1 or r = p by A12,INT_2:def 4;
        then p divides t1 by A40,A41,A38,INT_2:def 4,NAT_D:4;
        then p in support pfexp t by A12,NAT_3:37;
        then p in support PFactors t by Def6;
        then k+1 <= k by A23,FINSEQ_1:1;
        hence contradiction by NAT_1:13;
      end;
      then Radical n = Product (PFactors s+PFactors t) by A14,Th50
        .= Radical s * Radical t by A34,A19,A33,NAT_3:19;
      hence thesis by A14,A32,A31,NAT_3:1;
    end;
    suppose
      support PFactors n c= Seg k;
      hence thesis by A4;
    end;
  end;
A42: P[ 0 ]
  proof
    let n be non zero Nat;
A43: {} c= support PFactors n;
    assume support PFactors n c= Seg 0;
    then support PFactors n = {} by A43;
    then PFactors n = EmptyBag SetPrimes by PRE_POLY:81;
    then Radical n = 1 by NAT_3:20;
    hence thesis by NAT_D:6;
  end;
  for k being Nat holds P[k] from NAT_1:sch 2(A42,A3);
  hence thesis by A1,A2;
end;
